OleDbDataReader,C# - OleDbDataReader 可以从 excel 文件中检索的最大行数限制是多少?
OleDbDataReader, C# - What is the maximum limit of the number of rows OleDbDataReader can retrieve from an excel file?
我正在使用 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);
}
谢谢!
对于那些进来寻找答案的人...我认为您使用的是旧 excel 驱动程序。
Excel 有 65536 行的限制。
在这个例子中
行 27546 = 93081 - 65536
我正在使用 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);
}
谢谢!
对于那些进来寻找答案的人...我认为您使用的是旧 excel 驱动程序。 Excel 有 65536 行的限制。
在这个例子中 行 27546 = 93081 - 65536