在 c# 中读取 excel 文件的 OpenXml 或 Microsft.Office.Interop.Excel 哪个更好?

Which is better option OpenXml or Microsft.Office.Interop.Excel to read excel file in c#?

我正在使用 .NET 4.6 框架,我必须阅读 asp.net/c# 代码中的多页预定义模板化 excel 工作簿,我知道两种解决问题的方法使用 DocumentFormat.OpenXml.dllMicrosoft.Office.Interop.Excel.dll 程序集。

但是我不知道该用哪个,因为我没有专业知识来决定。 我的问题是; 在解决方案中使用它们的优缺点是什么? 有比另一个更好的吗? 能否请您解释一下,以便我可以选择一个?

答案相对简单:如果将 "excel file" 和 "asp.net" 组合在同一个句子中,切勿使用 Interop。 Interop 打开一个真实的 excel 实例并操作它来设置/检索数据。 它很慢,可能会意外挂起,可能会有弹出窗口阻止您的程序(您确定要覆盖此文件吗?)并且它是一个资源消耗者。 DocumentFormat.OpenXml.dll 有效,但使用起来很复杂,尤其是当您有用户提供的数据表时,您想要对其进行操作。 像EPPLUS这样的第三方库更高级,更友好,所以我会推荐这样的库。