.ExportAsFixedFormat不能与Excel 2013一起使用

时间:2015-03-12 11:51:46

标签: c# asp.net office-interop excel-interop

我已经使用Excel2010成功地将ExcelWorkBook导出为PDF但是当我在使用Excel 2013的服务器上尝试相同的解决方案时,它总是在ExportAsFixedFormat方法上抛出异常

这是代码

object misValue = System.Reflection.Missing.Value;
string paramExportFilePath = @"C:\Test2.pdf";
Excel.XlFixedFormatType paramExportFormat = Excel.XlFixedFormatType.xlTypePDF;
Excel.XlFixedFormatQuality paramExportQuality = Excel.XlFixedFormatQuality.xlQualityStandard;
bool paramOpenAfterPublish = false;
bool paramIncludeDocProps = true;
bool paramIgnorePrintAreas = true;
xlNewWorkBook.ExportAsFixedFormat(paramExportFormat, paramExportFilePath, paramExportQuality, paramIncludeDocProps, paramIgnorePrintAreas, misValue, misValue, paramOpenAfterPublish, misValue);

以下是例外:

HRESULT: 0x800A03EC

我尝试使用Office14和Office15库,但两者都有相同的结果

1 个答案:

答案 0 :(得分:0)

阿迪尔,

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

如果要构建在服务器端上下文中运行的解决方案,则应尝试使用已为安全无人值守执行的组件。或者,您应该尝试找到允许至少部分代码在客户端运行的替代方法。如果从服务器端解决方案使用Office应用程序,则应用程序将缺少许多成功运行的必要功能。此外,您将承担整体解决方案稳定性的风险。您可以在Considerations for server-side Automation of Office文章中详细了解相关内容。