ASP.NET 操作Excel中的DCOM配置方式

具体配置方式如下:

1. 组件服务管理窗口

在运行栏中输入命令:dcomcnfg,打开组件服务管理窗口,在组件服务-》计算机-》我的电脑-》DCom配置-》找到Microsoft Excel Application,如果在其中找不到则是因为操作系统为64位,而Excel是32位组件,需要在运行栏中输入命名:comexp.msc -32 来打开32位的组件服务。

2.  配置Microsoft Excel Application属性

1)右击Microsoft Excel Application打开属性对话框,点击"标识"标签,选择"交互式用户",点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限。

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

3)光按以上设置并不能完全保证不出问题,因为调用OFFICE的操作可能涉及其他的系统资源,很可能依然权限不够而导致问题,只是设置EXCEL应用程序后,还是可能会报80070005的错误,最保险的是应该在dcomcnfg中选中我的电脑然后右键属性->com安全,将里面的访问权限,启动和激活权限全都编辑默认,在当中加上network service(iis 5.0的话,要加的是asp.net用户),并如前面对networkservice设置上相同的权限,这样基本上能保证不会再出什么问题。

3. 配置Web.config

如果上述方法不能解决问题,就应该是权限问题,请尝试用下面的方法:

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

原文地址:https://www.cnblogs.com/zhchsh/p/5108967.html