我正在使用OLEDB来连接和读取Excel电子表格中的数据.我有IMEX ="1",一切正常.我的问题是我正在读取的工作表可能以几个空行开头,空行数很重要.例如,如果我正在读取5x5网格,如:
- - - - -
- - - - -
2 - 3 3 8
- - - - -
- - 5 2 2
Run Code Online (Sandbox Code Playgroud)
其中' - '代表一个空单元格.前两行是空的这一事实很重要.网格的大小是动态的.我的代码似乎忽略了第一个空行.但处理第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"];
}
Run Code Online (Sandbox Code Playgroud)
连接字符串:
"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\""
Run Code Online (Sandbox Code Playgroud)
UPDATE
在连接字符串中指定'.xls'作为文件扩展名修复了此问题,并在开始时正确读取空行.