OleDb连接不读取excel文件中的所有行

时间:2011-09-06 14:07:53

标签: c# excel connection-string oledb oledbconnection

我在C#连接中使用OleDb来从Excel工作表中读取数据。并将其填入数据表中。

该表包含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);

3 个答案:

答案 0 :(得分:4)

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

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

IMEX = 1允许读者不仅导入所有数据

答案 1 :(得分:1)

除非您在连接字符串中指定HDR=NO,否则

This post会将第一行的某些信息视为标题。

我不确定为什么可能会跳过第2行和第3行;你能看到的内容有什么不同吗?

答案 2 :(得分:0)

我刚向上排添加了新行,它出现在数据集中。所以行命令在我的情况下改变已解决的问题