Я вставляю данные из листа excel в базу данных oracle.Excel-лист предоставляется клиентами. Я создал таблицу в базе данных. Структура и тип одинаковы между именем столбца excel и именем столбца таблицы, но имена столбцов различаются. Таким образом, в этом как я могу сопоставить имя столбца в таблице и имя столбца в excel при вставке данных, мне нужно создать xml файл и отобразить все значения или что-то другое? Для вставки я создал свою собственную ado.net dll.
Структура Excel показана ниже
Firstname lastname Age Salary
ricky martin 34 45000
Jensen thomas 37 55000
Kiran di 32 34000
Структура таблицы показана ниже
F_name l_name _age _salary
Код, используемый для вставки в базу данных, показан ниже
Arraylist ar = new Arraylist();
ar.Add(new FormField(colname, rowvalue, 2));
dal.CreateInsertQuery(ar, "table_name", out sql, ref ErrorMessage);
dal.ExecuteNonQuery(sql, ref ErrorMessage, true);
Возможно, используйте Dictionary<String, String>
, что-то вроде этого:
Dictionary <String, String> fieldMap = new Dictionary<String, String>();
fieldMap.Add(oldName1, newName1);
fieldMap.Add(oldName2, newName2);
//etc.
Затем вы делаете что-то подобное, добавляя в массив, вы можете отобразить поле во время добавления вызова.
ar.Add(new FormField(fieldMap[colname], rowvalue, 2));
где fieldMap[colname]
возвращает "новое имя" для colname
.