在 c# 中使用 Excel Interop 从多个 .xlsx 文件中提取数据的最有效方法?

Most efficient way to extract data from multiple .xlsx files using Excel Interop in c#?

我刚刚开始接触 Excel Interop,想知道如何通过实施多线程或多任务来提高我的应用程序的性能。

我的代码看起来像这样 atm:

foreach(var path in arrayOfExcelFilePaths){
    excelApp.Workbooks.Open(path);
}
foreach(var wb in excelApp.Workbooks){
    //Read stuff and maybe write stuff
}

提前感谢任何对此进行调查的人。

使用 Interop 通常不是一个好主意。您的代码的执行与用 VBA 宏编写的等效代码没有太大区别,因为 Interop 只是在后台运行 Excel 进程并一对一复制其功能。

尝试使用 OfficeOpenXML 或任何其他允许您像 Interop 那样在没有 运行 MS Excel 的情况下操作 excel 工作表内容的库。

我强烈建议您使用 EPPlus 5 library, which is a newer version of the EPPlus 库。它快速可靠,我已经使用它很多年了,没有任何问题。