OleDbDataReader,C# - OleDbDataReader可以从excel文件中检索的行数的最大限制是多少?

时间:2016-01-01 22:16:09

标签: c# excel oledbdatareader

我正在使用OleDbDataReader(C#)从excel文件中读取93081行,但它似乎没有读取所有行。它只读取93081行中的27545。当我读取另一个只有15941行的文件时,它不会造成任何问题并检索所有行。

我已经在很多人在线提到的连接字符串中包含IMEX = 1,即使整个excel文件中的数据类型相同。

OleDbDataReader可以从excel文件中读取的行数的最大限制是多少?

修改:添加了代码

var loc = "C:\\Users\\random\\Desktop\\Test.xlsx";
var myConnection = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source=\""+ loc + "\";Extended Properties=\"Excel 8.0;IMEX=1\";");
var myCommand = new OleDbCommand();   

myConnection.Open();
myCommand.Connection = myConnection;
var sql = "Select * from [Sheet2$]";
myCommand.CommandText = sql;
var dataReader = myCommand.ExecuteReader();
var insert = "";
var result = "";

DataTable table = new DataTable();
table.Columns.Add("ID", typeof(int));
table.Columns.Add("Request", typeof(string));
table.Columns.Add("Decoded_Request", typeof(string));

while (dataReader.Read()){
      insert = dataReader["Request"].ToString();
      result = HttpUtility.UrlDecode(insert);
      table.Rows.Add(i, insert, result);
      i++;
      Console.WriteLine(i);
}

谢谢!

1 个答案:

答案 0 :(得分:0)

对于那些来寻找答案的人...我认为您正在使用旧的excel驱动程序。 Excel的限制为65536行。

在此示例中 行27546 = 93081-65536