OleDb连接没有从excel文件中读取所有行

本文关键字:读取 文件 excel 连接 OleDb | 更新日期: 2023-09-27 18:07:50

我正在使用c#连接中的OleDb从Excel工作表读取数据。并在Datatable中填充。

工作表包含275行和27列。读取后,第1、2和3行为空。所有其他行都正确填充。

有人对这个问题有什么想法吗?下面是我的代码:
string connString = "Provider=Microsoft.ACE.OLEDB.12.0;" +
                "Data Source=" + "C:/Sheets/DataSheet.xls" + ";Extended Properties=Excel 12.0;";
objConn = new OleDbConnection(connString);
string Query = "SELECT * FROM [Sheet1$]";
OleDbCommand objCmd = new OleDbCommand(Query, objConn);
DataTable Table = new DataTable();
objAdapter1.SelectCommand = objCmd;
objAdapter1.Fill(Table);

OleDb连接没有从excel文件中读取所有行

问题是我的工作表包含混合数据,它只读取数字。解决方案是指定

Properties='"Excel 12.0;IMEX=1'";"

IMEX=1允许读取器导入所有数据,而不仅仅是数字

这篇文章有一些关于第一行被视为标题的信息,除非你在连接字符串中指定HDR=NO

我不知道为什么第二和第三行可能被跳过;你能看出它们的内容有什么不同吗?

我刚刚添加了新行到上行,它出现在数据集中。所以行顺序改变在我的例子中解决了问题