检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005
解决:
在运行栏中输入命令:dcomcnfg,打开组件服务管理窗口,但是却发现找不到Microsoft Excel程序,这主要是64位系统的问题,excel是32位的组件,所以在正常的系统组件服务里是看不到的
可以通过在运行里面输入 comexp.msc -32 来打开32位的组件服务,在里就能看到excel组件
对 Excel 进行编程,实际上就是通过 .Net Framework 去调用 Excel 的 COM 组件,所有要在 Web 环境下调用 COM 组件的时候,都需要对其进行相应的配置。
很多朋友都反映在 Windows 环境下调试正常的程序,一拿到 Web 环境中就出错,实际上就是因为缺少了这一步。
下面就详细介绍 DCOM 的配置过程。
1、运行“dcomcnfg”,打开 DCOM 配置程序。(或者 开始→设置→控制面版→管理工具→组件服务→计算机→我的电脑→DCOM配置)
2、在应用程序列表中找到“Microsoft Excel 应用程序”,点击“属性”,在2003下面如果没找不到属性,请打SP2补丁。
3、将 “常规” 选项卡中的 “身份验证级别” 设为 “无”。
4. 右键--【属性】,在【标识】选项卡中选择“下列用户”,填入用户的用户名和密码(Administrator即可),如图:
5. 【安全】选项卡中,“启动和激活权限”、“访问权限”都选择【自定义】,如图:
”启动和激活权限“中,点击【编辑】--【添加】—“IIS_IUSRS”用户,并在权限中选择【本地启动】、【本地激活】,如图:
”访问权限”中,点击【编辑】--【添加】—“IIS_IUSRS”用户,并在权限中选择【本地访问】,如图:
点击【确定】,即可。