none
错误: 80040154 没有注册类 问题 RRS feed

  • 问题

  • 用户代码未处理 COMException

    检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80040154 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))。

    请问怎么解决啊。我是用了一个EXCEL的导出

    我是按网上的方法 生成了一个EXCEL.dll

    然后在下面这句的时候发生错误

    app = new excel.Application();

     

    求如何解决。能否不安装 office 2003 就解决的啊


    C#初学者,所以提的问题对各位前辈朋友来说可能很简单,也可能问法也不对,非常期待大家的回答……
    2010年12月19日 9:46

答案

  • 您好

    使用 Excel.dll,您的電腦一定要安裝 Office Excel 軟體才行

    否則請使用其他方式例如 NPOI Library 去操作 Excel


    歡迎參觀我的Blog.NET菜鳥自救會
    2010年12月19日 12:17
  • dear
    1.我记得小弟以前在开发时是用Excel.exe,没安装Excel也能执行。
    http://www.dotblogs.com.tw/yc421206/archive/2009/01/11/6727.aspx

    2.我不知道你那个Excel.dll怎来的,注册语法你是这样下达吗?
    Regsvr32 /i /s E:\Excel.Dll

    3.请问你产生dll的环境与用户端的环境为何?
    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2010年12月26日 15:30

全部回复

  • 您好

    使用 Excel.dll,您的電腦一定要安裝 Office Excel 軟體才行

    否則請使用其他方式例如 NPOI Library 去操作 Excel


    歡迎參觀我的Blog.NET菜鳥自救會
    2010年12月19日 12:17
  • dear
    你使用 Regsvr32 注册该元件试试

    http://www.dotblogs.com.tw/yc421206/archive/2008/12/01/6147.aspx

    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2010年12月20日 1:29
  • 问题应该是目标计算机未安装 Office 所致。要使用 Office 的互操作,无论是 COM 方法还是 VSTO,目标机器上必须安装 Microsoft Office 软件。
    Mark Zhou
    2010年12月20日 7:22
  • 你好,

    如果你不想安装excel来做导出的效果,这种情况比较麻烦,在看我下面的建议前,我建议你能使用微软提供的一些封装好的组件来方便的实现你的效果。

    替代方案是利用excel支持的xml格式保存数据,这样不需要安装excel,同时可以保存丰富的数据类型以及格式信息。

    具体操作方法是,你可以先在excel里面做出一个与你需要的最终导出结果相同的示例文件,然后另存为xml格式(excel菜单中的另存为菜单项),再利用VS等支持xml的编辑器打开生成的xml文件,里面的xml格式相信你稍微花几分钟就能明白,找到其中的数据部分,然后你自己利用代码将你的实际数据做个循环,迭代这个数据部分,利用实际数据替换示例数据。最终你需要的xml格式的excel文件生成。

    谢谢,

    Larcolais


    Larcolais Gong[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2010年12月20日 15:24
  • dear
    你使用 Regsvr32 注册该元件试试

    http://www.dotblogs.com.tw/yc421206/archive/2008/12/01/6147.aspx

    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    你好。是不是有些组件注册不了啊。这样的情况怎么做呢?

    C#初学者,所以提的问题对各位前辈朋友来说可能很简单,也可能问法也不对,非常期待大家的回答……
    2010年12月26日 11:35
  • dear
    1.我记得小弟以前在开发时是用Excel.exe,没安装Excel也能执行。
    http://www.dotblogs.com.tw/yc421206/archive/2009/01/11/6727.aspx

    2.我不知道你那个Excel.dll怎来的,注册语法你是这样下达吗?
    Regsvr32 /i /s E:\Excel.Dll

    3.请问你产生dll的环境与用户端的环境为何?
    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2010年12月26日 15:30
  • dear
    1.我记得小弟以前在开发时是用Excel.exe,没安装Excel也能执行。
    http://www.dotblogs.com.tw/yc421206/archive/2009/01/11/6727.aspx

    2.我不知道你那个Excel.dll怎来的,注册语法你是这样下达吗?
    Regsvr32 /i /s E:\Excel.Dll

    3.请问你产生dll的环境与用户端的环境为何?
    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/

    1. 大哥你的第一种直接用EXE文件,感觉怪怪的,能否用DLL的,第二种是一定要安装OFFICE,这个行的

    2. 注册语法 Regsvr32  E:\Excel.Dll 我试了不行 刚才我又试了 Regsvr32 /i /s E:\Excel.Dll 也不行。我还试了右键直接打开 使用system32/regsvr32,也不行。dll生成是TlbImp Excel9.olb Excel.dll 这个命令生成的

    3.生成DLL环境为win 7 office 2003 使用环境 win 7


    C#初学者,所以提的问题对各位前辈朋友来说可能很简单,也可能问法也不对,非常期待大家的回答……
    2011年1月2日 1:29
  • 您好

    使用 Excel.dll,您的電腦一定要安裝 Office Excel 軟體才行

    否則請使用其他方式例如 NPOI Library 去操作 Excel


    歡迎參觀我的Blog.NET菜鳥自救會

    谢谢小欧大哥 , 应该网上是有一些文章说使用EXCEL.dll可以不装OFFICE,所以我想试试,

    NPOI 去操作真的很不错,谢谢,我去试一试


    C#初学者,所以提的问题对各位前辈朋友来说可能很简单,也可能问法也不对,非常期待大家的回答……
    2011年1月2日 1:38