服务器执行失败(来自HRESULT的异常:0x80080005(CO_E_SERVER_EXEC_FAILURE)) - c#

我正在尝试使用Microsoft.Office.Interop.Excel.Workbook类将.xls文件转换为服务器端的.xlsx文件,如下所示:

 workBook.SaveAs("FILENAME_HERE", XlFileFormat.xlOpenXMLWorkbook, Type.Missing, Type.Missing, Type.Missing, Type.Missing, XlSaveAsAccessMode.xlNoChange, Microsoft.Office.Interop.Excel.XlSaveConflictResolution.xlLocalSessionChanges, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

我收到以下错误:

Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)). : System.Runtime.InteropServices.COMException (0x80080005): Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).
   at System.Runtime.Remoting.RemotingServices.AllocateUninitializedObject(RuntimeType objectType)
   at System.Runtime.Remoting.Activation.ActivationServices.CreateInstance(RuntimeType serverType)
   at System.Runtime.Remoting.Activation.ActivationServices.IsCurrentContextOK(RuntimeType serverType, Object[] props, Boolean bNewObj)
   at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
   at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
   at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
   at System.Activator.CreateInstance(Type type, Boolean nonPublic)
   at System.Activator.CreateInstance(Type type)
   at CALLING_METHOD_IN_MY_LIBRARY_HERE...

问题在于此错误仅在登台服务器上发生;在我的本地计算机上工作正常。

我在登台服务器上尝试过的事情:

** 1)运行dcomcnfg打开组件服务

2)展开组件服务“->“计算机”->“我的电脑”->“ DCOM配置”

3)找到“ Microsoft Excel应用程序”。

4)右键打开属性对话框

5)点击“安全”标签,

6)“启动和激活权限,配置权限,已添加权限-身份在管理员用户(此用户),交互式用户和启动用户下运行

7)。启动和激活权限+访问权限+配置权限=>添加了IIS_IUSRS +具有完全控制权的网络服务**

2。
更改了将我的本地计算机上的.xls文件从“ Any CPU”转换为“ x86”的项目的生成,并将此库发布到了服务器上。

有人知道如何解决此问题吗?我正在努力解决此问题已有2天。

参考方案

使用DCOMCNFG.exe。打开它并转到:
组件服务->计算机->我的电脑-> DCOM配置-> Microsoft Excel应用程序。

打开属性,选择“身份”选项卡,然后选择交互式用户。

exec()无法使用unicode字符 - python

我试图从我的python代码中执行.py程序,但是非ASCII字符在打印和处理时表现异常。module1.py:test = "áéíóúabcdefgçë" print(test) 主要代码:exec(open("module1.py").read(), globals()) 我希望它打印áéíóúabcdefgçë…

休眠还是Application Server JPA? - java

我在生产中使用Glassfish,在测试中使用OpenEJB。我正在使用JPA 1.0。我使用的是Hibernate,但没有特定的Hibernate功能,只有标准的JPA。休眠在这个集合中是多余的,应该删除,对吗? java参考方案 OpenEJB和Glassfish均提供JPA实现。因此,要运行您的应用程序,您不需要休眠。但是,在某些特殊情况下,JPA实现…

如何使用Selenium Java自动执行地图?或与Page Co-Ordinates。请告诉我还有其他方法可以自动执行地图 - java

我正在尝试捕获地图的坐标以对地图进行一些操作。wait = new WebDriverWait(driver, 15); wait.until(ExpectedConditions.elementToBeClickable(By.`path`("//button[contains(text(),'Add Tract')]…

Pyodbc找不到FreeTDS驱动程序 - python

我在Centos 7 Linux计算机上,尝试通过pyodbc连接到SQL数据库。我了解到您需要设置DSN,并且可以通过安装freetds驱动程序并执行以下操作来实现:import pyodbc cnxn = pyodbc.connect('DRIVER={FreeTDS};SERVER=example;DATABASE=TEST;') …

在C#中检索SQL Server数据库信息 - c#

想要改善这篇文章吗?提供此问题的详细答案,包括引文和答案正确的解释。答案不够详细的答案可能会被编辑或删除。 我正在尝试创建一个程序,该程序将生成包括表,视图,键,索引,触发器等的SQL数据库架构,例如:CREATE TABLE TableName(....) .... CREATE VIEW ViewName(...) .... 我知道这是可能的,因为SQL…