如果我们使用ExcelDataReader包,如何提高Excel文件读取速度?



我使用ExcelDataReader读取excel文件(*.xlsx, *.xlsx)。Xlsb, *.xls),我正在努力加快它的进程。

它工作得很好,但是显示行需要时间。注意:我正在使用一个大的excel文件(14000行),我只想显示前五行。

我的进度:

FileInfo fileInfo = new FileInfo(filePath);
if (fileInfo.Extension.ToLower().Contains(".xls"))
{
using (FileStream stream = File.Open(filePath, FileMode.Open, FileAccess.Read))
{
using (var excelReader = ExcelReaderFactory.CreateReader(stream))
{
DataTable result = excelReader.AsDataSet().Tables[0];
for (int i = 0; i < 6; i++)
{
resultList.Add(string.Join(",", result.Rows[i].ItemArray).Split(',').ToArray());
}
excelReader.Close();
}
}
}
return resultList;

不要使用reader.AsDataSet()-这会将整个文件加载到内存中,这有很大的开销。相反,使用读取器api,如reader.Read()一次读取一行,reader.GetValue()获取当前行的值。

最新更新