当只有一个人访问网页读取excel文件时,没有问题,
但当多人都打开该页面时,调用excel.dll时出错检索COM类工厂中CLSID为{00024500-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误: 80080005

解决方案 »

  1.   

    http://topic.csdn.net/u/20070110/11/0a6308a0-4e2f-4838-9366-aa6bdbb2e454.html
    跟你的错误差不多,你可以参考一下
      

  2.   

    你换component one里面的excel相关的组建用,直接用office的excel相关接口解决该问题基本无解。以前遇到过,而且还有4楼说的有"僵尸"进程的问题。
      

  3.   

    检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005解决办法: 配置 DCOM 中 EXCEL 应用程序:要在交互式用户帐户下设置 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。 如果你之前起用了身份模拟 (在 web.config 中配置了   <identity impersonate="true"/> ) ,需要删除之!
      

  4.   

    处理僵尸进程:Process[] procs = Process.GetProcessesByName("excel");
    foreach (Process pro in procs)
    {
      pro.Kill();
    }
    GC.Collect();