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

在项目中将数据导出为Excel格式时出现“检索COM 类工厂中CLSID 为 {00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005”,从网上搜了一下有如下解决方案:

 

1:在服务器上安装office的Excel软件.

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

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

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

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

6:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加

一个"ASP.net"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.

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

这样,我们便配置好了相应的Excel的DCOM权限.

注意:这是在WINxp上配置的,在2003上,ASP.net用户改为NETWORK SERVICE用户。

 

根据上述操作了一遍,结果还是这个错误,后来在组件服务中又将“Microsoft Office Excel 预览器”配置了一遍才解决问题,配置过程如下:

1、在"DCOM配置"中找到"Microsoft Office Excel 预览器",在它上面点击右键,然后点击"属性",弹出"Microsoft Office Excel 预览器属性"对话框

2、点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加

一个"ASP.net"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.

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

 

按上述步骤问题解决。

另外,我做了个测试,如果在配置Microsoft Excel 应用程序时没有配置“标识”中的“交互式用户”,将出现如下错误:

从 IClassFactory 为 CLSID 为 {00024500-0000-0000-C000-000000000046} 的 COM 组件创建实例失败,原因是出现以下错误: 8001010a。”

 

 

 

posted @ 2009-06-01 09:28 炫哥哥 阅读(...) 评论(...) 编辑 收藏