开发中处理EXCEL出现:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败问题的解决办法【图文步骤】

        今天开发的时候遇到一个问题,在进行excel下载或者上传的时候会报错,进行调试报的错误是"检索 COM 类工厂中 CLSID 为{00024500-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误:80070005 拒绝访问。 (异常来自HRESULT:0x80070005 (E_ACCESSDENIED))"。我把自己的代码和同事的代码一对比,完全一样啊。在网上一百度是啥服务器没有安装office软件。各种百度愣是没解决,有些添加什么NetworkService用户的,删除什么的,再添加什么的都不管用。不过对于这种问题大家的处理的地方都是一样,那说明应该就是这里除了问题没错。接下来记录一下我解决这个问题的方法。

首先win+R输入comexp.msc -32,进入组件服务

开发中处理EXCEL出现:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败问题的解决办法【图文步骤】

开发中处理EXCEL出现:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败问题的解决办法【图文步骤】

将组建服务目录展开,找到DCOM配置,然后在该目录下找到Microsoft Excel Applcation ,然后右键进入它的属性页面。

开发中处理EXCEL出现:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败问题的解决办法【图文步骤】

开发中处理EXCEL出现:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败问题的解决办法【图文步骤】

在标识选项卡选择交互式用户

开发中处理EXCEL出现:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败问题的解决办法【图文步骤】

然后在安全选项卡下,将"启动和**权限"分组和"访问权限"分组中都选择自定义然后分别编辑。

开发中处理EXCEL出现:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败问题的解决办法【图文步骤】

开发中处理EXCEL出现:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败问题的解决办法【图文步骤】

开发中处理EXCEL出现:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败问题的解决办法【图文步骤】

开发中处理EXCEL出现:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败问题的解决办法【图文步骤】

然后重启项目,终于不报“检索COML类工厂中 CLSID为 {00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005”错误了,但是又有新的错误在等着我。。。。又报“未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序”错误,这又是什么鬼。这两个问题其实是没有相关性的。这个问题比较好解决,需要安装相应版本的数据访问组件就好了,进入微软的官网:https://www.microsoft.com/zh-CN/download/details.aspx?id=13255下载组件,

开发中处理EXCEL出现:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败问题的解决办法【图文步骤】

开发中处理EXCEL出现:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败问题的解决办法【图文步骤】

然后打开IIS,打开高级设置,将启用32位应用程序改为true,重新启动项目,问题解决。

开发中处理EXCEL出现:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败问题的解决办法【图文步骤】

开发中处理EXCEL出现:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败问题的解决办法【图文步骤】

 

以上就是我在开发的时候遇到的excel操作过程中的问题,我如此配置是解决了我的问题,反而网上采用最多的那个添加networkservice不起作用,这个方法网上一搜就好就不再叙述了。如果还有不同的解决办法,欢迎贴出来给大家分享。

微信公众号

开发中处理EXCEL出现:检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败问题的解决办法【图文步骤】