在C#中引用COM 的Micrrosoft excel11 object lib
using Excel在一个按钮中加入
Excel.Application app = new Excel.Application();//打开一个Excel应用
            if (app == null)
            {
                return;
            }
            Excel.Workbooks wkb = app.Workbooks;            Excel.Workbook wb = wkb.Open("c:\book1.xls", Missing.Value, Missing.Value, Missing.Value, Missing.Value,
                Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
                Missing.Value, Missing.Value, Missing.Value);
一运行,提示出
无法将类型为“Excel.ApplicationClass”的 COM 对象强制转换为接口类型“Excel._Application”。此操作失败的原因是对 IID 为“{000208D5-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 加载类型库/DLL 时出错。 (异常来自 HRESULT:0x80029C4A (TYPE_E_CANTLOADLIBRARY))。不知如何整,网上提供的代码,都会出现这样的问题.
谢谢!

解决方案 »

  1.   

    Excel.ApplicationClass excel = new Excel.ApplicationClass(); 
    在程序里没有添加引用好接口
    相应的应用程序没有装好
      

  2.   

    我用Excel.ApplicationClass excel = new Excel.ApplicationClass(); 
    仍然出错.
      

  3.   

    你是web下调用吧,需要权限的,在组件服务里面配置。
    DCOM中配置Word的权限。
      

  4.   

    在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务" 
    如果是2000 server 则 在弹出的窗口中选中  Microsoft Excel 应用程序 ,点击属性,然后依次点中自定义配置->添加->显示用户->aspnet ,注意最后一项选中完全控制即完成设置. 3:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置" 4:在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框 5:点击"标识"标签,选择"交互式用户" 6:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限. 7:依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限. 
      

  5.   

    我不是在WEB下调用,就是一般的windows FORM下使用.上面的组件服务也打不开,说是DTC已由SQL server安装,并重新安装.