Asp.net 使用工作簿保存excel时。是否从HRESULT获取异常:0x800A03EC?

Asp.net 使用工作簿保存excel时。是否从HRESULT获取异常:0x800A03EC?,asp.net,windows-server-2008-r2,excel-2013,Asp.net,Windows Server 2008 R2,Excel 2013,我的项目有问题。我想在Windows 2008 server上的Asp.NET C#中将数据写入exist excel文件。我在本地计算机上创建了项目,该项目工作正常,但在服务器上发布时出现以下错误: 错误 :System.Runtime.InteropServices.COMException (0x800A03EC): Exception from HRESULT: 0x800A03EC at Microsoft.Office.Interop.Excel._Workbook.SaveAs(

我的项目有问题。我想在Windows 2008 server上的Asp.NET C#中将数据写入exist excel文件。我在本地计算机上创建了项目,该项目工作正常,但在服务器上发布时出现以下错误: 错误

:System.Runtime.InteropServices.COMException (0x800A03EC): 
Exception from HRESULT: 0x800A03EC at Microsoft.Office.Interop.Excel._Workbook.SaveAs(Object Filename,Object FileFormat, Object Password, Object WriteResPassword, Object ReadOnlyRecommended, Object CreateBackup, XlSaveAsAccessMode AccessMode, Object ConflictResolution, Object AddToMru, Object TextCodepage, Object TextVisualLayout, Object Local) 
at Stock.EService.ReadExistingExcel() 
以下是保存文件代码:

mWorkBook.SaveAs(path3, Excel.XlFileFormat.xlWorkbookNormal, Missing.Value, Missing.Value, false, false, Excel.XlSaveAsAccessMode.xlNoChange,Excel.XlSaveConflictResolution.xlUserResolution, true,Missing.Value, Missing.Value, Missing.Value);

mWorkBook.Close(true, Missing.Value,Missing.Value);
如何解决我的问题。我在服务器中创建了一个文件并提供了完全控制权,但我的项目不起作用。
请帮帮我。

我想这可能是由于您的本地计算机和服务器之间的Excel版本不同造成的。

我想这可能是由于您的本地计算机和服务器之间的Excel版本不同造成的。

这个问题困扰了我很长一段时间。我在开发环境中使用了Excel14.0,在生产环境中使用了Excel15.0

以下是我试图解决问题的大多数事情的列表,但是请记住,可能是这些事情的一个、全部或组合为我解决了问题

  • 开始->运行->lusrmgr.msc->将服务帐户添加到管理员组

  • 组件服务->计算机->我的计算机->属性->COM安全->将用户添加到所有权限

  • 组件服务->计算机->我的计算机->DCOM配置->Microsoft Excel应用程序->属性->安全->将用户添加到所有权限

  • 组件服务->计算机->我的计算机->DCOM配置->Windows管理和检测->属性->安全->将用户添加到所有权限

  • Excel->文件->选项->信任中心->受保护视图->取消选中所有3个框

  • Excel->文件->选项->信任中心->ActiveX设置->启用所有控件并取消选中安全模式

  • Excel->文件->选项->信任中心->宏设置->启用所有宏->信任对VBA项目对象模型的访问

  • Excel->文件->选项->信任中心->文件块设置->选择在受保护视图中打开选定的文件类型

  • Excel->文件->选项->信任中心->文件块设置->取消选中所有内容

  • Excel->文件->选项->信任中心->外部内容->启用所有数据连接;为所有工作簿链接启用自动更新

  • Excel->文件->选项->信任中心->受信任位置->选中允许受信任位置+添加C:\和任何UNC路径+子目录

  • Excel->文件->选项->高级->选中“忽略使用动态数据交换(DDE)的其他应用程序”

  • 在代码中,不要使用.SaveCopyAs,而是将.SaveAs与Excel.XlFileFormat.xlWorkbookDefault一起用于xlsx文件,将Excel.XlFileFormat.xlOpenXMLWorkbookMacroEnabled一起用于启用宏的工作簿


  • 这个问题困扰了我好一阵子。我在开发环境中使用了Excel14.0,在生产环境中使用了Excel15.0

    以下是我试图解决问题的大多数事情的列表,但是请记住,可能是这些事情的一个、全部或组合为我解决了问题

  • 开始->运行->lusrmgr.msc->将服务帐户添加到管理员组

  • 组件服务->计算机->我的计算机->属性->COM安全->将用户添加到所有权限

  • 组件服务->计算机->我的计算机->DCOM配置->Microsoft Excel应用程序->属性->安全->将用户添加到所有权限

  • 组件服务->计算机->我的计算机->DCOM配置->Windows管理和检测->属性->安全->将用户添加到所有权限

  • Excel->文件->选项->信任中心->受保护视图->取消选中所有3个框

  • Excel->文件->选项->信任中心->ActiveX设置->启用所有控件并取消选中安全模式

  • Excel->文件->选项->信任中心->宏设置->启用所有宏->信任对VBA项目对象模型的访问

  • Excel->文件->选项->信任中心->文件块设置->选择在受保护视图中打开选定的文件类型

  • Excel->文件->选项->信任中心->文件块设置->取消选中所有内容

  • Excel->文件->选项->信任中心->外部内容->启用所有数据连接;为所有工作簿链接启用自动更新

  • Excel->文件->选项->信任中心->受信任位置->选中允许受信任位置+添加C:\和任何UNC路径+子目录

  • Excel->文件->选项->高级->选中“忽略使用动态数据交换(DDE)的其他应用程序”

  • 在代码中,不要使用.SaveCopyAs,而是将.SaveAs与Excel.XlFileFormat.xlWorkbookDefault一起用于xlsx文件,将Excel.XlFileFormat.xlOpenXMLWorkbookMacroEnabled一起用于启用宏的工作簿


  • 我的本地机器2010版和服务器2013版。可能是问题吗?我想这个问题不是来自不同的版本。文件中的“Excel.XlFileFormat.xlWorkbookNormal”是否允许宏?编辑:我发现“xlOpenXMLWorkbookMacroEnabled”应该是。我在那里看到了
    xlOpenXMLWorkbookMacroEnabled
    我的本地机器2010版和服务器2013版。可能是问题吗?我想这个问题不是来自不同的版本。“Excel.XlFileFormat.xlWorkbookNormal”是否允许文件中包含宏?编辑:我发现“xlOpenXMLWorkbookMacroEnabled”应该是。我在那里看到
    xlOpenXMLWorkbookMacroEnabled
    在Windows服务(IIS是Windows服务)中使用Office Interop会带来麻烦,不受支持,也无法获得许可。使用库读取和写入Excel文件。@CodeCaster您知道IIS 7.5支持的在Windows服务(IIS是Windows服务)中使用Office Interop的任何示例会带来麻烦、不受支持且无法获得许可吗。使用库读取和写入Excel文件