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