无法将类型为Microsoft.office.interop.Excel.ApplicationClass的COM对象强制软件为Microsoft.office.interop.Excel._Application

scjyjl 2007-09-10 10:11:12
这是将DataTable 导出到Excel中的一段代码出的错,原来我机子上安排的是office 2007,导出到Excel正常,换到office 2003的机子上发现什么office版本不是12.0,就无法导出到Excel,我删除2007,装2003,并删除原来Excel和Office之类的引用,重新添加Microsoft excel 11.0 Objict Library引用,编译运行导出到Excel的功能是就出现了上述错误,我看导出到Excel的代码中就只有一句用到了ApplicationClass,
ApplicationClass MyExcel
我把这句改成_Application MyExcel,问题依旧啊。各位前辈帮帮忙
...全文
18956 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdtwf4 2011-08-16
  • 打赏
  • 举报
回复
解决方法:将引用的DLL:Microsoft.Office.Interop.Excel;的嵌入互操作类型改为false,就可以了。







lincal_w 2010-10-27
  • 打赏
  • 举报
回复
如果是word就不说了
但是只是导出EXCEL,不涉及对EXCEL文件的内容的修改和删除的话,建议使用ADO.NET的方式
sklkitty 2010-01-19
  • 打赏
  • 举报
回复
我也遇到了这样的问题, 还是没解决呀。??


怎么解决的。

你说的EXE 文件是BIN 目录下的文件吗?????



怎么要把 Interop.Excel.dll 和 EXE 拷走呀。?听不明白呢/。???



在线看的话 请帮忙吧。
不胜感激/
scjyjl 2007-09-11
  • 打赏
  • 举报
回复
谢谢楼上的朋友,我这样解决了
using Excel
Excel.ApplicationClass MyExcel
MyExcel =new ApplicationClass();就没出错了,可这就是exe目录下所生了一个依赖项
Interop.Excel.dll文件,要把这个文件和exe一起拷走才可以用,不知有没有办法不单独产生这个依赖文件啊
-过客- 2007-09-10
  • 打赏
  • 举报
回复
以前用过,记得好像是要添加两个引用的,这样试下

Microsoft.Office.Interop.Excel.Application MyExcel = new Microsoft.Office.Interop.Excel.Application();
scjyjl 2007-09-10
  • 打赏
  • 举报
回复
对了,还有这句用到了ApplicationClass
MyExcel=new ApplicationClass()
不知这句该怎么改啊 MyExcel=new _Application()不行

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧