在windows10下excel导出Retrieving the COM class factory for component with CLSID .. failed due to the fol

这个问题网上已经说了很多,不幸我也遇到了。

主要症状是用Microsoft.Office.Interop.Excel控件做的导出Excel的功能,在Asp.net中。

在本地测试没有问题,但是部署到web服务器上后,会出现下列错误:

Retrieving the COM class factory for component with CLSID{00024500-0000-0000-C000-000000000046} .. failed due to the following error:80070005 拒绝访问

网上的解决办法一般是:

在64位操作系统中,使用comexp.msc -32打开组件服务,找到Microsoft Excel Application的DCOM然后在属性中设置security的Lauch and Activation Permissions和Access Permission中设置NETWORK SERVICE用户,然后给local lauch和local activation的权限。



但是对于我的计算机,这个不好用。

我的系统,解决问题的修改了IIS中的应用池配置。在IIS的Application Pools中,找到该网站的应用池:

在高级设置中,把标识修改为LocalSystem。


我的系统是,这样修改完成后,就没有问题了。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个异常是由于无法找到注册的 COM 类型引起的。具体来说,错误消息 "Retrieving the COM class factory for component with CLSID {729F623A-1EC5-4900-B033-3CD75AD0CEA5} failed due to the following error: 80040154 Class not registered" 表示尝试检索具有指定 CLSIDCOM 组件时失败,因为该组件未正确注册。 要解决这个问题,您可以尝试以下几种方法: 1. 检查 COM 组件是否已正确安装和注册:确保所需的 COM 组件已正确安装,并且在注册表中具有正确的注册信息。 2. 使用正确的位数:如果您的应用程序是 64 位的,而 COM 组件是 32 位的,或者反之,可能会导致这个问题。确保使用与 COM 组件相匹配的位数。 3. 重新注册 COM 组件:可以尝试重新注册相关的 COM 组件。打开命令提示符(以管理员身份运行),然后使用 `regsvr32` 命令重新注册组件。例如:`regsvr32 path\to\component.dll`。 4. 更新或重新安装 COM 组件:如果可能,尝试更新或重新安装相关的 COM 组件,以确保正确的安装和注册。 5. 检查依赖项:某些 COM 组件可能依赖于其他组件。确保所有必需的依赖项都已正确安装和注册。 请注意,具体的解决方法取决于您使用的 COM 组件以及应用程序的具体情况。如果以上方法无法解决问题,建议您联系相关组件的技术支持团队以获取更多帮助。 如果您能提供更多的上下文信息,如相关的代码或更多的异常堆栈跟踪,我们可以更好地帮助您解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值