使用Excel.Application excel; 要引用什么?

roxette909 2005-09-25 04:41:33
使用Excel.Application excel; 要引用什么?

我已经using Microsoft.Office.Interop.Excel; 还报错。

谢谢。
...全文
16342 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
PigAndCat 2005-09-29
  • 打赏
  • 举报
回复
添加Com组件阿
mathsword 2005-09-29
  • 打赏
  • 举报
回复
长江支流说得很详细了,还没解决吗?
xxj 2005-09-29
  • 打赏
  • 举报
回复
我已经建议大家不要使用Excel Application 无数次,但是就是没有人愿意听
首先:Excel 的版本问题就是一个难以解决的障碍
其次:速度运行一个EXCEL Application 很占内存
最后,无法消除 Excel Application Process,
有人说通过kill PROCEESS,有人说用垃圾回收器,我都试验了,
都是无法立即将 Excell 进程结束掉的
所以我建议用Formula One ActiveX
http://community.csdn.net/Expert/topic/4279/4279633.xml?temp=.8819239
mark44404 2005-09-25
  • 打赏
  • 举报
回复
你要手动添加引用(在二级菜单),在对话框中添加新引用,找到Excel就行了
  • 打赏
  • 举报
回复
MIS金质打印通之Excel专版(www.webmis.com.cn)

----------------------------------------在项目中添加Excel功能的方法----------------------------------------

第一步:
在项目的引用节点单击右键,在弹出的菜单中单击添加引用...
在弹出的对话框中单击COM项,找到Microsoft Excel 11.0 Object Library
并单击选中,然后单击选择按钮,如图“引用Excel2003”。

从中我们可以看出是引用的Excel.Exe文件,这是Excel2003版。Excel2000及Excel2002即Excel XP
COM项见“Excel版本对照表”。


第二步:
引用Excel2003后,会在引用节点中增加Excel等节点,如图“引用Excel2003后可删除不必要的引用”。

进入项目的bin\Debug目录可以看到,相应的增加了


Interop.Excel.dll、Interop.Microsoft.Office.Core.dll、Interop.VBIDE.dll三个库文件,它们都是.Net将 COM 类型库中的
类型定义转换为.Net公共语言运行库程序集中的等效定义生成的文件。
我们只需要引用Interop.Excel.dll就可以了,后面的两个文件是支持文件,不添加这两个文件的引用时在调试程序时如果有编译
不通过的如语法错误会提示未能找到依赖项Interop.Office、Interop.VBIDE,一般这是个假象,如果
没有语法错误,编译器就不会提示了:)。


我们在引用中将Microsoft.Office.Core、stdole、VBIDE选中删除掉。也可以将Excel引用删除掉重新直接引用Interop.Excel.dll。


另一种方法是直接添加对Interop.Excel.dll的引用。


生成Interop.Excel.dll的另一方法:

以上是可视化自动生成Excel对应的程序集,也可以用如下的方法生成。

打开Visual Studio .Net2003命令提示,运行
TlbImp Excel.EXE Interop.Excel.dll

如果是Excel2000,则
TlbImp Excel9.olb Interop.Excel.dll

当然,第一参数Excel.EXE(Excel9.olb)要指定目录(Office2000安装目录),如果不指定,需要把它拷贝到VS.Net安装路径下
如C:\Visual Studio.Net\SDK\v1.1\Bin;
同理,第二参数Interop.Excel.dll是生成的对应的动态库,如果不指定目录,默认生成在VS.Net安装路径BIN下 ,你可以用你自己喜欢的名字
取代Interop.Excel.dll,生成之后你就可以在VS.Net开发环境项目中添加对它的引用了。

Tlbimp.exe为类型库导入程序,它将 COM 类型库中的类型定义转换为公共语言运行库程序集中的等效定义,关于它的详细使用参见MSDN。


用第一种方法和第二种方法引用的库和默认文件目录为分别如下:
Excel 2000是
Microsoft Excel 9.0 Object Library
C:\Program Files\Microsoft Office\Office\EXCEL9.OLB

Excel 2002(XP)是
Microsoft Excel 10.0 Object Library
C:\Program Files\Microsoft Office\OFFICE10\EXCEL.EXE


Excel 2003是
Microsoft Excel 11.0 Object Library
C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE


----------------------------------------Excel版本对照表----------------------------------------

文件 Interop.Excel.dll Interop.Office.dll Interop.VBIDE.dll 添加引用\COM组件
版本
2000 V1.3.0.0 V2.1.0.0 V5.3.0.0 Microsoft Excel 9.0 Object Library(EXCEL9.OLB)

2002(XP) V1.4.0.0 V2.2.0.0 V5.3.0.0 Microsoft Excel 10.0 Object Library(Excel.EXE文件)

2003 V1.5.0.0 V2.3.0.0 V5.3.0.0 Microsoft Excel 11.0 Object Library(Excel.EXE文件)





roxette909 2005-09-25
  • 打赏
  • 举报
回复
using Excel;

但The type or namespace name 'Excel' could not be found (are you missing a using directive or an assembly reference?)

111,128

社区成员

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

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

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