积极答复者
错误: 80040154 没有注册类 问题

问题
-
用户代码未处理 COMException
检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80040154 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))。
请问怎么解决啊。我是用了一个EXCEL的导出
我是按网上的方法 生成了一个EXCEL.dll
然后在下面这句的时候发生错误
app = new excel.Application();
求如何解决。能否不安装 office 2003 就解决的啊
C#初学者,所以提的问题对各位前辈朋友来说可能很简单,也可能问法也不对,非常期待大家的回答……
答案
全部回复
-
你好,
如果你不想安装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.
-
-
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#初学者,所以提的问题对各位前辈朋友来说可能很简单,也可能问法也不对,非常期待大家的回答……