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

Posted llguanli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Microsoft.Office.Interop.Excel时,64位问题相关的知识,希望对你有一定的参考价值。

前不久,碰到一个问题。

曾经用的好好的Microsoft.Office.Interop.Excel实现的导出Excel,迁移至64位server后,就出现:

检索 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:点击"安全"标签,在"启动和激活权限"上点击"自己定义",然后点击相应的"编辑"button,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.

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


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


我试了一下,按如上步骤基本是能够解决问题。

只是,总是不方便。谁没事为了这个功能去安装一次office呢,所以。不妨不要用Microsoft.Office.Interop.Excel这样的方式导入导出EXCEL了。换用别的方式。

其它导出excel方式见后文。

以上是关于使用Microsoft.Office.Interop.Excel时,64位问题的主要内容,如果未能解决你的问题,请参考以下文章

第一篇 用于测试使用

在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?

今目标使用教程 今目标任务使用篇

Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)

MySQL db 在按日期排序时使用“使用位置;使用临时;使用文件排序”

使用“使用严格”作为“使用强”的备份