导出Excel时发生COM组件失败的解决方案
导出Excel时发生错误:
检索 COM 类工厂中 CLSID 为{00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。
具体解决方法如下:
1、在服务器上安装office的Excel软件。
2、在"开始"->"运行"中输入dcomcnfg,启动"组件服务"
3、“组件服务”窗口中找到,"组件服务"->"计算机"->"我的电脑"->"DCOM配置" ,再在"DCOM配置"中找到"Microsoft Excel 应用程序",右键->属性,弹出"Microsoft Excel 应 用程序属性"对话框,对话框中设置以下几点:
(1)"标识"标签,选择"交互式用户" ,
(2)"安全"标签,在"启动和激活权限"上点"自定义",添加“NETWORK SERVICE”用户,并给它赋予"本地启动"和"本地激活"权限.
(3)"安全"标签,"访问权限"上点击"自定义",添加“NETWORK SERVICE”用户,赋予"本地访问"权限。
这样我们便配置好了相应的Excel的DCOM权限
注意:这是在WIN2003上配置的,在2000上,可能是配置的是ASPNET用户。
以上方法仅适用在32位系统下,如果是win7或win2008的64位系统,设置方法如下:
1、在"开始"->"运行"中输入dcomcnfg -32,启动"组件服务" (注意:这里要加 -32 参数,否则看不到Microsoft Excel Application项)
2、同上面步聚(3)一样的设置
3、在IIS7.5中,选择网站对应的应用程序池中的“高级设置”,在出现的对话框“进程”一节中的“标识”一项,改为“NetworkService”,确定保存。