我想读取Excel文件,但这种方式太慢了。我应该使用哪种模式来更快地读取excel文件。我应该尝试csv吗?
我正在使用以下代码:
ApplicationClass excelApp = excelApp = new ApplicationClass();
Workbook myWorkBook = excelApp.Workbooks.Open(@"C:\Users\OWNER\Desktop\Employees.xlsx");
Worksheet mySheet = (Worksheet)myWorkBook.Sheets["Sheet1"];
for (int row = 1; row <= mySheet.UsedRange.Rows.Count; row++)
{
for (int col = 1; col <= mySheet.UsedRange.Columns.Count; col++)
{
Range dataRange = (Range)mySheet.Cells[row, col];
Console.Write(String.Format(dataRange.Value2.ToString() + " "));
}
Console.WriteLine();
}
excelApp.Quit();
程序运行缓慢的原因是因为您正在使用Excel打开Excel文件。每当对文件执行任何操作时,都必须进行COM +互操作,这非常慢,因为必须在两个不同的进程之间传递内存。
Microsoft放弃了对.xlsx
使用Excel interop读取文件的支持。为此,他们专门发布了OpenXML库。
我建议您使用包装程序库来使用OpenXML,因为该API相当繁琐。您可以查看此SO,以了解如何正确使用它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句