使用OLEDB读取Excel文件
本文关键字:文件 Excel 读取 OLEDB 使用 | 更新日期: 2023-09-27 18:24:05
嗨,我正在阅读一个带有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。因为但这对我来说不是真正的解决方案。知道吗?
要使用ADO将记录添加到MyTable,可以使用类似以下的代码:
'Create a new connection object for Book1.xls
Dim conn As New ADODB.Connection
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:'Book1.xls;Extended Properties=Excel 8.0;"
conn.Execute "Insert into MyTable (FirstName, LastName)" & _
" values ('Bill', 'Brown')"
conn.Execute "Insert into MyTable (FirstName, LastName)" & _
" values ('Joe', 'Thomas')"
conn.Close
这来自MSDN:http://support.microsoft.com/kb/247412
利用SQL的OpenXML批量插入数据,为做更多的工作
以下是我为同样的工作所做的代码:使用C#DataTable和SQL server OpenXML函数批量插入数据
您可以查看数据库使用Excelfiles 的一些方法