asp.net中使用COM组件生成word的80070005错误

错误现象:

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

 

CLSID可能为000209FF,00020906啥的。

 

解决办法:

这个问题折磨了我很长的时间。在VS2005的调试模式下能够正常生成word文件,但是通过web服务器访问时,就报这个错误了。

 

1. COM组件的访问权限

2. ASP.NET应用程序的访问权限

3. 生成word文件的代码编写方式

 

.NET导出Excel遇到的80070005错误的解决方法

检索 COM 类工厂中 CLSID {00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005基本上.net导出excel文件,都需要如此配置一下,不配置有的时候没错,而配置后基本应该不会出错。
具体配置方法如下
1:
在服务器上安装officeExcel软件.
2:
"开始"->"运行"中输入dcomcnfg.exe启动"组件服务
3:
依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"
4:
"DCOM配置"中找到"Microsoft  Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框 
5:
点击"标识"标签,选择"交互式用户
6:
点击"安全"标签,"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK  SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动""本地激活"权限
7:
依然是"安全"标签,"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK  SERVICE"用户,然后赋予"本地访问"权限
8.
如果交互式用户设置后出现错误8000401a,可取消交互式用户,指定为administratr,可暂时解决此问题。进一步的解决方式还有待探讨。 
9.
采用第8点的设置后,打开Excel可能会出现无法使用对象引用或链接,并且不能进行单元格粘贴。原因不明,取消设置后即可消失。

web.config中使用身份模拟,<system.web>节中加入   <identity impersonate="true" userName="你的用户名" password="密码"/>

</system.web>

这个问题比较隐晦。我至今仍然不知道为什么会这样。!!!

// Word.Document doc = new Word.Document(); //使用这句化就出现错误 object Obj_FileName = FileName; object Visible = false; object ReadOnly = false; object missing = System.Reflection.Missing.Value; Word.Document doc = app.Documents.Open(ref Obj_FileName, ref missing, ref ReadOnly, ref missing,  //使用这种方式打开word文档就没有问题了。 ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref Visible, ref missing, ref missing, ref missing, ref missing); doc.Activate();

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值