我正在使用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);
}
谢谢!
答案 0 :(得分:0)
对于那些来寻找答案的人...我认为您正在使用旧的excel驱动程序。 Excel的限制为65536行。
在此示例中 行27546 = 93081-65536