实例化EXCEL时出错

daisylong 2010-11-08 05:19:04
我现要将datagridview中的内容输出到excel,在实例化excel对象是出错,我使用的是VS2005,代码如下:
Excel .Application excel=new Excel .Application ();
excel.Application.Workbooks.Add(true);
excel.Visible = isShowExcel;
。。。。。。。。
问题如下:
在new 后并未自动出来Excel .Application (),按理说正确的实例化会自动显示。同样Application.Workbook中workbook也不出来;运行后出错:无法创建抽象类或接口“Excel.Application”的实例,这样导致后续使用的excel.cells[]都报错说无法支持。
我检查了下,Microsoft Excel 12.0 Object Library(用的是excel 2007),Microsoft Excel 5.0 Object Library,Microsoft.Office.Tools.Excel.dll都引用了,但是还是不行,不知是不是excel版本不支持,如果换成Microsoft Excel 9.0 Object Library是否就OK呢,请熟练使用的人给点意见,如果有错能否给下正确的实例方法,多谢!
...全文
364 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
daisylong 2010-11-10
  • 打赏
  • 举报
回复
我自己结贴吧,已经弄好了!
按以下方法:
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
excel.Application.Workbooks.Add(true);
excel.Visible = true;
OK!
daisylong 2010-11-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 whycom 的回复:]
try
Excel .Application excel=new Excel .ApplicationClass ();
[/Quote]
现在的问题就是我在写的时候new 后面都不自动出来,手动写了之后也没用,就报这个错。我试了下applicationclass,都没有,application还有。我越来越觉得是不是版本的问题或者是2007没有打相应的nNet补丁之类的,求高手啊!!
daisylong 2010-11-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 redmudwashcompanion 的回复:]
肯定是没添加引用,右键-Add Reference-microsoft.office.interop.excel
[/Quote]

我的没有这项,是不是2007与2003有所不同啊
whycom 2010-11-09
  • 打赏
  • 举报
回复
Application 是接口,applicationclass 是实现application的类
whycom 2010-11-09
  • 打赏
  • 举报
回复
try
Excel .Application excel=new Excel .ApplicationClass ();
daisylong 2010-11-09
  • 打赏
  • 举报
回复
没人来顶吗?
我查了下,有许多人碰到过类似的问题,有人说除了添加COM中的microsoft excel 12.0 object library还要添加.NET中的microsoft.office.interop.excel,可是我查了下我的.NET中没有这项,但我添加了microsoft excel 12.0 object library后,debug中Interop.Excel.dll、Interop.Microsoft.Office.Core.dll、Interop.VBIDE.dll三个库文件已经添加进来了。许多人建议重装,不知可不可以,如果能够解决,我是不希望重装的了。有没有打补丁的方法来解决呢?
daisylong 2010-11-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 redmudwashcompanion 的回复:]
肯定是没添加引用,右键-Add Reference-microsoft.office.interop.excel
[/Quote]
已经引用了,我说的microsoft excel 12.0 object library就是啊
fellowcheng 2010-11-08
  • 打赏
  • 举报
回复
2007的话,可以用open xml
http://support.microsoft.com/kb/931866
  • 打赏
  • 举报
回复
肯定是没添加引用,右键-Add Reference-microsoft.office.interop.excel

110,525

社区成员

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

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

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