我正在使用OLEDB連接並讀取Excel電子表格中的數據。我有IMEX =「1」,一切正常。我的問題是我正在閱讀的牀單可能從幾個空行開始,空行數很重要。例如,如果我讀取的是5x5格:如何在從Excel中讀取時計算空行
- - - - -
- - - - -
2 - 3 3 8
- - - - -
- - 5 2 2
其中' - '表示空單元格。前兩行是空的這一事實很重要。網格的大小是動態的。我的代碼似乎忽略了第一個空行。但處理第4行的空行。
如何計算使用OLEDB的Excel工作表的開始處的空行數?
我只能使用OLEDB,我也不會,如果我沒得;-)
using (var adapter = new OleDbDataAdapter("SELECT * FROM [" + worksheetName + "]", connString)) {
var ds = new DataSet();
adapter.Fill(ds, "FareChart");
table = ds.Tables["FareChart"];
}
連接字符串:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Windows\\TEMP\\e1842f90-74a7-42f2-a6fa-208396a1072e;Extended Properties=\"Excel 8.0;IMEX=1;HDR=No\""
UPDATE
指定'.xls'作爲連接字符串中的文件擴展名解決了此問題,並在開始時正確讀取空行。
此外,使用「 - 」或「0」來表示一個空單元是不是一種選擇,細胞必須是空的。數據實際上比我給出的例子更復雜,我們無法控制格式。 – RandomDev
不知道這是否有幫助:http://stackoverflow.com/questions/1138197/oledb-connection-to-excel-how-do-i-select-fixed-width-unbounded-height –
你的'ConnectionString'是什麼? – NaveenBhat