如何映射 table 中的列名称和源文件中的相应名称

How to map column name in a table and corresponding names in a source file

我正在将数据从 excel sheet 插入到 oracle database.Excel sheet 由 customers.I 提供,在 table 中创建database.Structure 和类型在 excel 列名和 table 列名之间是相同的,但是在这种情况下列名 differ.So 我如何映射 table 中的列名和插入数据时 excel 中的列名,我是否需要创建一个 xml 文件并映射所有值或其他内容??。为了插入,我创建了自己的 ado.net dll .

Excel结构如下图

Firstname     lastname         Age     Salary

ricky         martin          34       45000
Jensen       thomas           37       55000
Kiran        di               32       34000

Table结构如下图

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] returns colname 的 "new name"。