检索 COM 类工厂中 CLSID 为{00024500-0000-0000-C000-000000000046} 的组件时失败,缘由是出现如下错误: 80070005javascript
编程环境:ASP.NET C#
错误分析:这是由于Microsoft Excel做为一个COM组件默认只能被如下账户激活:Administrator System Interactive。而当你访问的ASP.NET应用程序实际是以ASP.NET或Network Service群组账户执行的。
解决方案:通常方法有两种:
方法一:为ASP.NET应用程序专门分配一个账户,并保证该账户在本地登录时能正常的使用MICROSOFT Excel,而后在web.config文件的<system.web>节下加上如下设置。java
<identity impersonate ="true" userName="帐号" password="密码"/>
方法二:配置DCOM,使ASP.NET账号能有权限调用Excel COM组件。web
具体配置方法以下:
一、在服务器上安装office的Excel软件.
二、在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"编程
若是你是32位 操做系统:1.在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务";2.依次双击"组件服务"->"计算机"->"个人电脑"->"DCOM配置";3.在"DCOM配置"中就能找到"Microsoft Excel 应用程序"安全
若是你是64位 操做系统:1.在"开始"->"运行"中输入 mmc -32 启动"控制台";2.文件--添加或删除管理单元;3. 在可用的管理单元选中“组件服务”---添加---肯定;4.依次双击"组件服务"->"计算机"->"个人电脑"->"DCOM配置";5.在"DCOM配置"中就能找到"Microsoft Excel 应用程序"服务器
三、在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,而后点击"属性",弹出"Microsoft Excel 应用程序"属性"对话框
四、点击"标识"标签,选择"交互式用户"
五、点击"安全"标签,在"启动和激活权限"上点击"自定义",而后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加"NETWORK SERVICE"用户(注意要选择本计算机名)和"IIS_IUSRS",并给它们赋予"本地启动"和"本地激活"权限;在"访问权限"上点击"自定义",而后点击"编辑",在弹出的"安全性"对话框中也填加"NETWORK SERVICE"用户和"IIS_IUSRS",而后给他们赋予"本地访问"权限.ide
六、点击"肯定"、"应用",若是是64位操做系统,点击“文件”,而后保存。post