Workbooks.Open方法抛出HRESULT:0x800A03EC

时间:2014-12-30 13:19:41

标签: excel office-interop excel-interop office-2013

我正在使用

打开一个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对象提供权限,但它没有工作,

2 个答案:

答案 0 :(得分:0)

请注意Microsoft.Office.Interop.Excel.dll有许多版本的版本,我可以找到一个版本:

C:\Program Files\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office14

和另一个人:

C:\Program Files\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office12


从项目中删除引用并添加合适的引用,重建您的解决方案 编辑#1
Office11是Office 2003的内部名称 适用于Office 2007的Office12 Office14适用于Office 2010.
安装Microsoft Office时,请确保选中 .NET可编程性支持功能。另外,您可以下载表格:
Office 2010: Primary Interop Assemblies>尝试查找Office 2013的内容。

答案 1 :(得分:0)

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

相反,请查看Considerations for server-side Automation of Office文章,其中说明了以下内容:

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