解决Office互操作错误"检索COML类工厂中 CLSID为 {xxx}的组件时失败,原因是出现以下错误: 80070005"...

Excel为例(其他如Word也适用)文件数据导入时报出以下错误:

  检索COML类工厂中 CLSID为 {00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005,如图所示:

  

  可以看到报出的异常类型为:UnauthorizedAccessException,没有权限访问,表明我们需要配置执行操作账户的COM访问权限.

由于系统是Windows Server 2008 64位版的,服务器上安装的Excel版本为Excel 2007 是32位应用程序,所以在系统的组件服务中是找不到Excel的,

此时,需要在32位DCOM配置中设置权限,具体步骤如下:

1.运行命令"comexp.msc -32",打开组件服务32位管理控制台,如图:

 

2.在DCOM配置中找到"Microsoft Excel Applcation",如图:

  

Word:

 

3.右键->属性,在标识选项卡中选择"交互式用户",如图:

  

4.在"安全"选项卡中的"启动和激活权限"分组中,选择"自定义",然后点击"编辑",添加执行操作的账户并授予"本地启动"和"本地激活"权限(如Network Service,IUSR),如图所示

  

  

5..在"安全"选项卡中的"访问权限"分组中,选择"自定义",然后点击"编辑",添加执行操作的账户并授予"本地访问"权限(如Network Service,IUSR),如图所示

  

  

6.在"位置"选项卡中,如图所示

 

7.配置结束,IIS程序池选择允许32位程序,重新运行程序,不再报错.

转载于:https://www.cnblogs.com/colder/p/6222783.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值