Sam*_*r S 29 .net com iis excel-interop
Microsoft.Office.Interop.Excel.WorkbookClass.SaveAs()
方法在Windows Server 2003上运行正常,也在XP上运行,但在Windows Server 2008上没有.我复制它,因为它给了所有的Dll和权限
我还尝试了网上提供的所有解决方案,例如文化设置和DCOM权限.
获得以下错误:
System.Runtime.InteropServices.COMException(0x800A03EC):来自HRESULT的异常:0x800A03EC
在
Microsoft.Office.Interop.Excel.WorkbookClass.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)
请帮忙 ..!
Sam*_*r S 51
找到答案....... !!!!!!!
Microsoft Windows Server 2008不支持官方Microsoft Office 2003 Interop.
但经过大量的代码和搜索的排列和组合之后,我们遇到了一个适用于我们场景的解决方案.
解决方案是插入Windows 2003和2008维护其文件夹结构的方式之间的差异,因为Office Interop依赖于桌面文件夹进行文件打开/保存.2003系统包含systemmprofile下的桌面文件夹,该文件夹于2008年缺席.
因此,当我们在2008年根据相应的层次结构创建此文件夹时,如下所示; 办公室Interop能够根据需要保存文件.此桌面文件夹需要在下创建
C:\ WINDOWS\system32 \设置\ systemprofile
和
C:\ WINDOWS\Syswow64资料\设置\ systemprofile
这对我有用......
还要检查是否安装了.NET 1.1,因为它是Interop所需要的,并且是由Windows Server 2008预装的
或者您也可以使用SaveCopyas()方法,只需将参数作为文件名字符串)
多谢你们..!
一些谷歌搜索显示,你可能有一个损坏的文件:
http://bitterolives.blogspot.com/2009/03/excel-interop-comexception-hresult.html
并且您可以使用CorruptLoad参数告诉excel打开它,例如...
Workbook workbook = excelApplicationObject.Workbooks.Open(path, CorruptLoad: true);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
107239 次 |
最近记录: |