C#使用Office功能80070005错误的处理方法

C#使用Office功能
在C#经常会用到office的功能,例如使用excel计算功能和生成word文件等。这些功能用代码实现很简单,在本地运行调试运行成功,一旦发布到服务器上这些功能可能会出现各式各样的问题,一般情况下会报“错误代码就是80070005(检索COM类工厂中CLSID为{000209FF-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005)”这样的错误,怎么回事呢?
归根到底就是服务器上office访问权限的问题。
解决方法很简单:
1.一般情况下服务器Office权限应该是配置好的,Office安装完成就设置了这些(但安装要确保选择了为asp.net提供支持),那么解决方法简单了,设置网站应用池的标识即可,标识选择LocalSystem:
这里写图片描述
Ps:一般是可以设为LocalSystem或者NetworkService两种用户的,但如果先执行这步那么只可以设置LocalSystem,走过2、3步的之后即可两种用户都可设置。
2.如果这种方式没有解决,就要进入第二步:
1)..在”开始”->”运行”中输入dcomcnfg.exe启动”组件服务”
2).依次双击”组件服务”->”计算机”->”我的电脑”->”DCOM配置”
3).在”DCOM配置”中找到”Microsoft Excel 应用程序”,在它上面点击右键,然后点击”属性”,弹出”Microsoft Excel 应用程序属性”对话框
4).点击”标识”标签,选择”交互式用户”
5).点击”安全”标签,在”启动和激活权限”上点击”自定义”,然后点击对应的”编辑”按钮,在弹出的”安全性”对话框中填加一个”NETWORK SERVICE”用户(注意要选择本计算机名或亦可添加其他需求的用户比如Everone用户等),并给它赋予”本地启动”和”本地激活”权限
6).依然是”安全”标签,在”访问权限”上点击”自定义”,然后点击”编辑”,在弹出的”安全性”对话框中也填加一个”NETWORK SERVICE”用户(或亦可添加其他需求的用户比如Everone用户等),然后赋予”本地访问”权限.
7).之后重复第1步操作。
3.有些服务器是64位版本的,因此打开DCOMCNFG之后,找不到项“Microsoft Excel 应用程序”,因为DCOMcnfg是32配置,在64位系统下能完全被支持,打开32位的DCOMCNFG的方式:
1).运行:mmc -32
2).打开“文件”-“添加或删除管理单元”-选择组件服务-点击添加-确定。
3).可以在DCOM组件中找到Microsoft Excel Application了。
4).之后重复第2步,第1步。

到此,问题基本解决,功能可以正常使用了。建议将office版本升级到最新,因为最新版本的office对功能支持的更完善,一些计算上缺陷已经修复。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值