配置DCOM中excel权限

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

asp.net导出Excel错误解决备忘

网站项目要用到导出为excel文件的功能,程序运行时报错:"检索 COM 类工厂中 CLSID 为{000-0000-0000-C0046} 的组件时失败,原因是出现以下错误: 。"上网又查了半天,终于找到了解决方案,原来是权限设置的问题,解决方法如下:

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

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

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

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

用程序属性"对话框

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

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

一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它付与"本地启动"和"本地激活"权限.

7:依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也添加"NETWORK

SERVICE"用户,然后付与"本地访问"权限.

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

注意:这是在WIN2003上配置的,在2000上,可能是配置ASPNET用户

由于EXCEL是在服务器上的,该写一个把导出数据保存在服务器上,然后再传递给客户端的方法,最后每次调

用这个功能的时候再删除以前在服务器上所天生的所有Excel

------

但按照方法在系统的DCOM设置里却没有发现 Microsoft Excel 应用程序 ??

------

之后找到了原因,如下,是由于我使用的是64位系统导致:

主要是64位系统的问题,excel是32位的组件,所以在正常的系统组件服务里是看不到的

可以通过在运行里面输入 comexp.msc -32 来打开32位的组件服务,在里就能看到excel组件了

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航