我们的Web服务器上有一个WCF应用程序。此应用程序中的一种服务方法创建一个包含数据的Excel XLS文件,并将该文件放在一个目录中,以便用户以后可以下载该文件。
我们的问题是,当此应用程序尝试创建Excel对象时,我们收到此错误:创建Excel帮助程序工作簿和应用程序时出错:检索具有CLSID {00024500-0000-0000-C000-的组件的COM类工厂000000000046} 由于以下错误而失败:8000401a无法启动服务器进程,因为配置的标识不正确。检查用户名和密码。
这是导致错误的行:
使用EX = Microsoft.Office.Interop.Excel; EX.Application Application = new EX.Application(); //导致错误
我做了一些研究,我尝试过的是进入DCOMCNFG - 计算机 - 我的电脑 - DCOM配置和右键单击" Microsoft Excel预览器" - properties - Security,然后添加了几个组和用户以进行本地启动,本地激活等....
但这没有用。一些文章说要选择" Microsoft Excel Application"。但是,我只看到" Microsoft Excel预览器"在我的DCOM配置中。
Excel已安装在此服务器上,但我们仍遇到上述问题。
奇怪的是,如果我远程进入服务器,然后让我的PC上的客户端(浏览器)调用服务方法来创建XLS,这没有问题。
我该怎么做才能解决这个问题?
答案 0 :(得分:1)
您可以通过将IIS AppPool标识设置为具有交互式登录权限的用户来尝试执行此操作。互操作程序集实际上是通过在服务器上启动Excel实例然后与之通信来执行工作来工作的。
话虽如此,之前走过这条路,这是一个糟糕的解决方案。您面临的挑战如下:
有关其他详细信息,请参阅以下内容: