为什么我只在 Excel 2007 时抛出系统异常?

Why do I get System Exception thrown only with Excel 2007?

我有一个包含一些对象的列表,我想在 en Excel 中写入这些属性。该代码与 Excel 2013 完美配合。当我尝试在一台只有 Excel 2007 的计算机上 运行 它时,问题就来了。

我已经查看了不同的链接和讨论,但其中 none 似乎可以解决此问题。我已经将 Microsoft.Office.Interop.Excel 引用更改为位于正确路径和不同方法中的引用。

我收到此错误:

无法将类型 'System.__ComObject' 的 COM 对象转换为接口类型 'Microsoft.Office.Interop.Excel.Application'。此操作失败,因为 IID 为“{000208D5-0000-0000-C000-000000000046}”的接口的 COM 组件上的 QueryInterface 调用因以下错误而失败:库未注册。 (HRESULT 异常:0x8002801D(TYPE_E_LIBNOTREGISTERED))。

在具有较新版本 Excel 的计算机中,代码 运行 完美无缺,我得到了我想要的输出,但是对于 2007 Excel 我得到了前面提到的异常。

有什么解决办法或想法吗?

我建议您使用 EPPlus,因为它不需要互操作。