使用 .Net 的 OleDb,我尝试导入一个 Excel 表,其中第一行可以为空。我想保留 DataTable 中的空行,以便以后能够将单元格映射到 Excel 样式的单元格名称“A1,A2,...”。但是无论我做什么,第一行都被删除了。
Excel 文件如下所示:
- - -
ABC XY ZZ
1 2 3
4 4 5
其中“-”是一个空单元格。(我对导入格式没有影响。)
简化代码:
string cnnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"file.xls\";Extended Properties=\"Excel 8.0;HDR=No;IMEX=1\"";
string mySheet = "Sheet1$";
OleDbConnection connection = new OleDbConnection(cnnStr);
DataSet Contents = new DataSet();
using (OleDbDataAdapter adapter = new OleDbDataAdapter("select * from [" + mySheet + "]", connection))
{
adapter.Fill(Contents);
}
Console.WriteLine(Contents.Tables[0].Rows.Count); // prints: 3
Console.WriteLine(Contents.Tables[0].Rows[0].ItemArray[0]); // prints: ABC
知道如何保留该空行吗?
ps:我找到了如何在从 Excel 读取时计算空行但无法重现它。