我正在使用.NET框架制作Web应用程序,我想将Excel文件直接上传到db表中。问题在于Excel文件中的字段之一与db表不同。
我将尝试解释:想象一下,在我的表中是这样的:(姓名,姓氏,客户ID)。
在Excel文件中,我有类似以下内容:(姓名,姓氏,NIF(或ID,但没有客户名))。
NIF与Customer_ID
相关,但不在此表中。
所以我想我需要做一个查询,从NIF中寻找Customer_ID
。如果一个接一个地完成,那行得通,但是如果我想从Excel文件中进行大量操作,我不知道从哪里开始。
try
{
// Extract file data
OleDbCommand objOleDB =
new OleDbCommand("SELECT *FROM [Sheet1$]", myExcelConn);
// Read the data
OleDbDataReader objBulkReader = null;
objBulkReader = objOleDB.ExecuteReader();
string sCon = @"Connection String";
using (SqlConnection con = new SqlConnection(sCon))
{
con.Open();
// Upload
oSqlBulk = new SqlBulkCopy(con);
oSqlBulk.DestinationTableName = "Table_name";
oSqlBulk.WriteToServer(objBulkReader);
}
Label1.Text = "Uploaded.";
Label1.Attributes.Add("style", "color:green");
}
catch (Exception ex)
{
Label1.Text = "ERROR.";
Label1.Attributes.Add("style", "color:red");
}
finally
{
// CLEAR.
oSqlBulk.Close();
oSqlBulk = null;
myExcelConn.Close();
myExcelConn = null;
}
就像我说的那样,当不需要更改值时,这种方法行得通,但这并不是我真正需要的,而我确实对此感到迷茫。
这与表的名称无关,列的内容也不相同。我需要从另一张桌子上拿到它。我要上传一个excel,使用excel的一个字段进行查询,然后使用该查询的结果以及excel文件的某些字段来更新表格。