0
我有几千行的表,但即使我试图读取1000行(和10列)大约需要10秒才能得到结果。我认为这太慢了,但我找不到任何问题。OleDb - 从Excel缓慢读取
代码读取数据:
string connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties="Excel 8.0;HDR=Yes;"", _excelFilename);
using (OleDbConnection c = new OleDbConnection(connectionString)) {
c.Open();
OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Trend_Data$A1:J1000]", c);
OleDbDataReader dbReader = dbCommand.ExecuteReader();
while (dbReader.Read()) {
object[] values = new object[10];
dbReader.GetValues(values);
//save values into internal structure - fast
...
}
逐步执行代码,我发现打电话的ExecuteReader功能需要这么长时间。
你有什么想法,如何加快代码?
是您的文件存储在本地?如果在共享驱动器上执行将需要一段时间。 – Juliusz 2011-05-17 08:31:35