打开大型EXCEL文件时出现问题。 例如,当我声明XLWorkbook时,它会将所有数据加载到此对象。我决定部分阅读它,因为它返回了一个错误:outOfMemory。是否可以读取范围的部分?还有其他方法吗?
样品:
using ClosedXML.Excel;
public void FileOpen(string path)
{
var workBook = new XLWorkbook(path);
// . . .
}
答案 0 :(得分:0)
您可以使用好的'OleDbAdapter
来选择给定的行范围。请参阅下面的示例,其中我选择前10,000行(来自工作表“Sheet1”),然后选择另一组来自excel文件的10,000行:
DataSet excelDataSet = new DataSet();
using (OleDbConnection connection = new System.Data.OleDb.OleDbConnection(connectionString))
{
connection.Open();
OleDbDataAdapter cmd = new OleDbDataAdapter("select * from [Sheet1$1:10000]", connection);
cmd.Fill(excelDataSet);
...
OleDbDataAdapter cmd = new OleDbDataAdapter("select * from [Sheet1$10000:20000]", connection);
connection.Close();
}