使用Microsoft.Office.Interop.Excel时,64位问题

前不久,碰到一个问题。以前用的好好的Microsoft.Office.Interop.Excel实现的导出Excel,迁移至64位服务器后,就出现:

检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败

查询了下网上大家的解决办法,几乎千篇一律都是如下的解决方式:

在64位机器安装office后,做如下设置。


1:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"

2:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"

3:在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框

如没有Microsoft Excel ,第一步换为:comexp.msc -32


4:点击"标识"标签,选择"交互式用户" 

5:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.

6:依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限.


或者NETWORK SERVICE或everyone都添加设置。

我试了一下,按如上步骤基本是可以解决这个问题。

不过,总是不方便,谁没事为了这个功能去安装一次office呢,所以,最好还是不要用Microsoft.Office.Interop.Excel这种方式导入导出EXCEL了。换用别的方式。其他导出excel方式见后文。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值