在visual Studio 2005命令提示工具中,定位到Excel安装目录,运行“TlbImp EXCEL.EXE”命令,把Excel.exe编译为Excel.dll。这一步会在你的机器上面的安装Office的目录下面的Office11(office2003)目录下生成Excell.dll,所以在引用的时候要到这个目录下面来找Excel.dll。
在项目的引用节点单击右键,在弹出的菜单中单击添加引用...在弹出的对话框中单击COM项,找到Microsoft Excel 11.0 Object Library并单击选中,然后单击选择按钮,如图“引用Excel2003”。从中我们可以看出是引用的Excel.Exe文件,这是Excel2003版。Excel2000及Excel2002即Excel XP COM项见“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
文件/版本 | 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文件) |
经测试..可以生成Excel.dll 但是没有解决我的问题.
http://www.cnblogs.com/sysalen/archive/2008/07/10/1240017.html