window2008 64位系统无法调用Microsoft.Office.Interop组件进行文件另存的解决办法

时间:2022-06-02 00:23:50

生成execl时遇到的问题:

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

服务器是windows server2008 64位系统,项目中需要用到Microsoft.Office.Interop组件,包括excel、word、ppt等。

重点一:

步骤 
1.在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务" 
2.依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置" 
3.在"DCOM配置"中找到"Microsoft Excel 应用程序"(当然还包括word和powerpoint),在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框 
4.点击"标识"标签,选择"交互式用户" 
5.点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限 
6.依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限.

而当在64位版本的机器上,因为打开DCOMCNFG之后,是根本找不到项“Microsoft Excel 应用程序(当然还包括word和powerpoint)”,则采用如下方式解决
1.运行:mmc -32 
2.打开“文件”-“添加或删除管理单元”-选择组件服务-点击添加-确定。 
3.可以在DCOM组件中找到Microsoft Excel Application了(当然还包括word和powerpoint),接下来的步骤就按照上面介绍的去设置。

如果按照上面设置之后还是无法运行,则是iis还需要做相应的设置
再检查,还有内容没有完成设置。

重点二、
检查IIS7的设置,最后确定还需要设置应用程序池的标识,把此网站的AppPool的标识要设置为LocalSystem或者NetworkService,问题解决。