• 检索COM 类工厂中CLSID 为 {0002450000000000C000000000000046}的组件时失败 解决方法


    检索 COM 类工厂中 CLSID 为 {00021A20-0000-0000-C000-000000000046} 的组件时失败
    或者
    在项目中将数据导出为Excel格式时出现“检索COM 类工厂中CLSID 为 {00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80070005”,
    1:在服务器上安装office的Excel软件.
    2:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"
    3:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"
    4:在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应 用程序属性"对话框
    5:点击"标识"标签,选择"交互式用户"
    6:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加 一个"NETWORK SERVICE" 和 "ASP.net"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.
    7:依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE" 和 "ASP.net"用户,然后赋予"本地访问"权限. 这样,我们便配置好了相应的Excel的DCOM权限.
    注意:这是在WIN2003上配置的,在2000上,可能是配置ASPNET用户 由于EXCEL是在服务器上打开的,所以应该写一个把导出数据保存在服务器上,然后再传递给客户端的方法,最后每次调 用这个功能的时候再删除以前在服务器上所生成的所有Excel

    如果还是不行,试着按照上面的步骤添加如下帐号的访问权限:IUSER_计算机名(Internet 来宾帐户) 和 IWAW_你的计算机名(启动 IIS 进程帐户)

    另外,我做了个测试,如果在配置Microsoft Excel 应用程序时没有配置“标识”中的“交互式用户”,将出现如下错误:
    "从 IClassFactory 为 CLSID 为 {00024500-0000-0000-C000-000000000046} 的 COM 组件创建实例失败,原因是出现以下错误: 8001010a。”

    引用服务器上的Excel版本
    1、从服务器上把EXCEL.EXE拷到了本机上,然后从VS2010的命令行启动TlbImp,执行命令:TlbImp /out:Interop.Excel.dll Excel.exe。生成Interop.Excel.dll。
    2、在项目中去除了Microsoft.Office.Interop.Excel.dll的引用,添加Interop.Excel.dll,将顶部的using Excel=Microsoft.Office.Interop.Excel,该为using Excel= Interop.Excel,

  • 相关阅读:
    零基础学Python-第一章 :Python介绍和安装-02.Python的发展历史与版本
    零基础学Python_汇总贴
    零基础学Python-第一章 :Python介绍和安装-01.Python语言的特点
    Spring cloud微服务安全实战-3-11API安全机制之登录
    iOS play video
    Http Live Streaming 实现iphone在线播放视频[转]
    UIWebView分页显示
    ios7适配--uitableviewcell选中效果
    ios7 设置status bar风格
    ios7适配--隐藏status bar
  • 原文地址:https://www.cnblogs.com/garfield211/p/2192339.html
Copyright © 2020-2023  润新知