我正在使用.NET框架制作Web应用程序,我想将Excel文件直接上传到db表中。问题在于Excel文件中的字段之一与db表不同。
我将尝试解释:假设在我的表中是这样的:(姓名,姓氏,客户ID)。
在Excel文件中,我有类似以下内容:(姓名,姓氏,NIF(或ID,但没有客户名))。
NIF与Customer_ID
相关,但不在此表中。
所以我想我需要做一个查询,从NIF中寻找Customer_ID
。如果一个接一个地完成,那行得通,但是如果我想从Excel文件中进行大量操作,我不知道从哪里开始。
myExcelConn.Open();
// Extracció de dades del fitxer.
OleDbCommand objOleDB =
new OleDbCommand("SELECT *FROM [Sheet1$]", myExcelConn);
// Lectura de les dades.
OleDbDataReader objBulkReader = null;
objBulkReader = objOleDB.ExecuteReader();
// POSAR LA BBDD BONA.
string sCon = @"Connection String";
using (SqlConnection con = new SqlConnection(sCon))
{
con.Open();
// Carregar a la BBDD.
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;
}
就像我说的那样,当不需要更改值时,这种方法行得通,但这并不是我真正需要的,而我确实在此上迷失了。
编辑:与表的名称无关,列的内容不相同。我需要从另一个表中获取它。