【发布时间】:2012-02-10 12:52:30
【问题描述】:
您好,我正在使用 oledb 读取一个 excel 文件(该文件有 100000 行)。我必须快速阅读文件。
string conn;
conn = ("Provider=Microsoft.ACE.OLEDB.12.0;" +
("Data Source=" + _filename + ";" +
"Extended Properties=\"Excel 12.0;\""));
OleDbConnection oleDBCon = new OleDbConnection(conn);
oleDBCon.Open();
DataTable dt = oleDBCon.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
string excelsheetname = dt.Rows[0].ItemArray[2].ToString();
string SSQL = "SELECT * from [" + excelsheetname + "]";
OleDbDataAdapter oleDA = new OleDbDataAdapter(SSQL, conn);
DataSet ds = new DataSet();
oleDA.Fill(ds);
DataTable _DtTable = ds.Tables[0]; // or [ ds ]
oleDBCon.Close();
然后在带有 for 循环的 _DtTable 中,我将这些单元格插入到 DB 中。如何快速读取这个非常大的 excel?并插入数据库?我使用了 Parallel.For,但这对我来说不是真正的解决方案。有什么想法吗?
【问题讨论】:
标签: c# sql-server excel oledb