现在的位置: 首页 > 综合 > 正文

asp.net打开office文件检索COM 类工厂中CLSID~组件加载失败(解决方案)

2013年10月31日 ⁄ 综合 ⁄ 共 787字 ⁄ 字号 评论关闭
在ASP .NET项目中将数据导出为Excel格式时出现“检索COM 类工厂中CLSID 为 {00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005”

解决方案如下:


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

2:在“开始”->“运行”中输入 dcomcnfg.exe 启动“组件服务”。
注:如果是64位系统,而Excel是32位的组件,在正常的系统组件服务里是看不到的,可以通过在“运行”里面输入 comexp.msc -32 来打开32位的组件服务,在里就能看到Excel组件了。

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

 
4:在“DCOM配置”中找到 "Microsoft Excel Application" ,在它上面点击右键,然后点击“属性”,弹出“Microsoft Excel Application属性”对话框。

 
5:点击“标识”标签,选择“交互式用户”。

 
6:点击“安全”标签,在“启动和激活权限”上点击“自定义”,然后点击对应的“编辑”按钮,在弹出的"安全性"对话框中填加一个 "ASP.NET" 用户(注意要选择本计算机名)并给它赋予“本地启动”和“本地激活"权限。

 
7:点击“安全”标签,在“访问权限”上点击“自定义”,然后点击“编辑”,在弹出的“安全性”对话框中也填加一个 "ASP.NET" 用户,然后赋予“本地访问”权限。
 
这样,便配置好了相应的Excel的DCOM权限.
 
 
 

如果在运行时出现:
Win32Exception (0x80004005): 拒绝访问。

在Web.config中使用 <identity impersonate="true" userName="用户名" password="密码"/> 放在<system.web>标签中
注:一般选择服务器计算机名称即可。

抱歉!评论已关闭.