工作簿.打开方法抛出结果:0x800A03EC



我正在使用打开一个 excel 文件

 object missing = Type.Missing;
xlWorkBook = xlApp.Workbooks.Open(strFilePath, missing, false, missing, missing, missing,
true, missing, missing, missing, missing, true, missing, missing, missing);

它抛出HRESULT: 0x800A03EC

它在 office 2010 中运行良好,但在将办公室库更新到版本 15 并部署到具有 Office 2013 的服务器后。我开始收到这条消息。我也尝试在 DomConfig 中授予对 Excel 对象的权限,但它不起作用,

请注意,Microsoft.Office.Interop.Excel.dll
有很多版本适合我,我可以在以下位置找到一个:

C:Program FilesMicrosoft Visual Studio 10.0Visual Studio Tools for OfficePIAOffice14


另一个在:

C:Program FilesMicrosoft Visual Studio 10.0Visual Studio Tools for OfficePIAOffice12


从项目中删除引用并添加合适的引用,重新生成解决方案。
编辑 #1
Office11 是 Office 2003 的内部名称。
Office 12 适用于 Office 2007。
Office 14 适用于 Office 2010。
安装 Microsoft Office 时,请确保选中".NET 可编程性支持"功能。另外,您可以下载它们的形式:
Office 2010:主互操作程序集尝试查找适用于 Office 2013 的程序集

您目前使用的 Office PIA 版本并不重要,因为即使使用旧的 PIA,您的代码也应该适用于最新的 Office 版本。

相反,请查看 Office 服务器端自动化的注意事项一文,其中指出以下内容:

Microsoft 目前不建议也不支持从任何无人参与、非交互式客户端应用程序或组件(包括 ASP、ASP.NET、DCOM 和 NT 服务)自动化Microsoft Office 应用程序,因为在此环境中运行 Office 时 Office 可能会表现出不稳定的行为和/或死锁。

最新更新