ASP.NET操作Excel时出现

http://blog.eastmoney.com/fk/blog_120145559.html

 

问题描述:

ASP.NET操作Excel时出现

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

问题原因:

没有为Microsoft Excel Application添加用户权限权限

解决方法:

开始->运行->dcomcnfg.exe

->组件服务->计算机->我的电脑->DCOM配置->Microsoft Excel Application->右键->属性

->标签->标识->选择交互用户

->安全->启动和激活权限->自定义->编辑->添加NetWork Service->本地启用+本地激活

->安全->访问权限->自定义->编辑->添加NetWork Service->本地访问

如果还有问题,需要在Web.conifg的<web.system>节点下添加或修改以下节点:

<identity impersonate="true" userName="administrator" password="123456"/>

===========================================================================================================

这个问题困扰了我很久,在网上找了很多资料都没用,

最后找到解决方案:

运行dcomcnfg打开组件服务,

依次展开"组件服务"->"计算机"->"我的电脑"->"DCOM配置"

找到"Microsoft Excel应用程序"或"Microsoft Word应用程序",

右键打开属性对话框,点击"标识"选项卡,

点"下列用户",把管理员的用户密码正确填写进去...

点击"安全"选项卡,

依次把"启动和激活权限","访问权限","配置权限",都选择为自定义,

然后依次点击它们的编辑,把everyone添加进去,并加入所有的权限...

OK,解决此问题!

=============================================================================================================

要在交互式用户帐户下设置 Office 自动化服务器,请按照下列步骤操作:

1. 以管理员身份登录到计算机,并使用完整安装来安装(或重新安装)Office。为了实现系统的可靠性,建议您将 Office CD-ROM 中的内容复制到本地驱动器并从此位置安装 Office。
2. 启动要自动运行的 Office 应用程序。这会强制该应用程序进行自我注册。
3. 运行该应用程序后,请按 Alt+F11 以加载 Microsoft Visual Basic for Applications (VBA) 编辑器。这会强制 VBA 进行初始化。
4. 关闭应用程序,包括 VBA。
5. 单击开始,单击运行,然后键入 DCOMCNFG。选择要自动运行的应用程序。应用程序名称如下所示:
Microsoft Access 97 - Microsoft Access 数据库
Microsoft Access 2000/2002 - Microsoft Access 应用程序
Microsoft Excel 97/2000/2002 - Microsoft Excel 应用程序
Microsoft Word 97 - Microsoft Word Basic
Microsoft Word 2000/2002 - Microsoft Word 文档
单击属性打开此应用程序的属性对话框。
6. 单击安全选项卡。验证使用默认的访问权限使用默认的启动权限已选中。
7. 单击标识选项卡,然后选择交互式用户
8. 单击确定,关闭属性对话框并返回主应用程序列表对话框。
9. DCOM 配置对话框中,单击默认安全性选项卡。
10. 单击访问权限的编辑默认值。验证访问权限中是否列出下列用户,如果没有列出,则添加这些用户:
SYSTEM
INTERACTIVE
Everyone
Administrators
IUSR_<machinename>*
IWAM_<machinename>*

*
这些帐户仅在计算机上安装了 Internet Information Server (IIS) 的情况下才存在。
11. 确保允许每个用户访问,然后单击确定
12. 单击启动权限的编辑默认值。验证启动权限中是否列出下列用户,如果没有列出,则添加这些用户:
SYSTEM
INTERACTIVE
Everyone
Administrators
IUSR_<machinename>*
IWAM_<machinename>*

*
这些帐户仅在计算机上安装有 IIS 的情况下才存在。
13. 确保允许每个用户访问,然后单击确定
14. 单击确定关闭 DCOMCNFG。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章