windows C#系统,运行时,互操作服务,COM异常(0x800A03EC):HRESULT中出现异常错误:另存新档

8aqjt8rx  于 2022-12-14  发布在  Windows
关注(0)|答案(5)|浏览(314)

我在Windows Server 2008和2012上运行时保存Excel电子表格有问题,但此项目在本地PC上工作(Windows 7,8或10)
C#原始程式码

Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel.Workbook excelWorkBook = excelApp.Workbooks.Add();
Microsoft.Office.Interop.Excel.Worksheet excelWorkSheet = excelWorkBook.Worksheets.Add();
excelWorkSheet.Name = "blablabla";
//added cells data
excelWorkBook.SaveAs(excelPath.ToString());
excelWorkBook.Close();
excelApp.Quit();

错误讯息
HRESULT异常:0x800A03EC系统.运行时.互操作服务. COM异常(0x800A03EC):HRESULT中出现异常错误:0x800A03EC at Microsoft.Office.Interop.Excel._Workbook.SaveAs(对象文件名,对象文件格式,对象密码,对象WriteResPassword,对象建议只读,对象创建备份,XlSaveAsAccessMode访问模式,对象冲突解决,对象AddToMru,对象文本代码页,对象文本VisualLayout,对象本地)

qybjjes1

qybjjes11#

Excel.工作簿xlWorkbook = xlApp.工作簿.打开(pathExcel,null,false);
需要以只读方式打开= false

vxf3dgd4

vxf3dgd42#

我已经去了地狱,并与微软。Office。Interop。Excel。工作簿回来,我发现修复不使用C:\驱动器在我的AWS windows系统,但D:\驱动器。一些关于如何C:驱动器被安装是打破了Microsoft.Office.Interop.Excel.Workbook SaveAs2函数调用。我尝试了很多其他常见的修复找到网上,但这是唯一的工作。

nhhxz33t

nhhxz33t3#

在服务器中安装MS Office以运行Office.Interop程序集是最好的选择。
同样,如果你不想在服务器上安装MS Office,那么你可以安装PIA(主互操作程序集)
http://msdn.microsoft.com/en-us/library/kh3965hw.aspx
PIA for Office下载链接
http://www.microsoft.com/downloads/details.aspx?FamilyID=59daebaa-bed4-4282-a28c-b864d8bfa513&DisplayLang=en

4ioopgfo

4ioopgfo4#

这个错误是由于本地pc和服务器有不同的office版本,我使用的是office 2012参考(microsoft office interop excel 14),但服务器有不同的版本(microsoft office interop excel 12)
步骤1)我安装了相同的Office版本。(v.12)
步骤2)在“Microsoft Excell应用程序属性”窗口中选择“交互式用户”选项。https://msdn.microsoft.com/en-us/library/windows/desktop/ms686587(v=vs.85).aspx

3ks5zfa0

3ks5zfa05#

此问题不是由您的代码引起的。我的计算机上安装了Office 2016和2010,在卸载2010并重新启动后,此问题已修复。请确保将应用程序引用更改为MS Office 14.0对象库(适用于Office 2010)。

相关问题