标签:
野生程序猿 | 发表时间:2011-12-06 14:52:02 | 更新时间: 2020-04-23 19:08:56 | 阅读数:382 | 评论数:0 | 字数:1393
本文首发于博客园博客,后转载至新浪博客,具体时间为2011-12-06 14:52:02,新浪博客的地址为:http://blog.sina.com.cn/s/blog_638f985701010m61.html 。
按:这篇文章最初2010-04-01 发表在
博客园的博客
昨天开始写自己第一个dotNet程序,程序要用到读取Excel表格数据(Office 2007)的功能,顺着VB6的思路,也就开始找引用,并且也比较顺利的找到了,但是鼓捣半天总是报错。于是上网求助,发现很多人用的是Office 2003,引用的是Excel11。但是Office 2007是Excel12,按照Excel11的方法来写,会报错。
好不容易找到一老外写的教程,豁然开朗:原来需要在程序前加一句话。
接下来,详细说下VB.Net2008引用Excel12的用法。
1.添加引用
菜单:项目——XX属性…打开属性标签。找到引用项,可以看到当前工程里引用了那些东东。
点击【添加】按钮,在com选项卡里寻觅……
选中 Microsoft Excel 12.0 Object Library点击确定即可将Excel12添加到引用。
2.编写代码打开Excel文件
注意:在代码窗的开始时一定要加上这句代码:
Imports Microsoft.Office.Interop.Excel '引入Excel应用
后面的代码就很像Vb6的了:
1 Dim xlsApp As Application = CreateObject("Excel.Application")
2 Dim xlsWB As Workbook
3 Dim xlsWS As Worksheet
4 Dim xlsRang As Range
上面这段话是在定义Excel对象,熟悉Vb6的朋友们不会陌生的。
xlsWB = xlsApp.Workbooks.Open(filepath)
上面这句话用来打开Excel应用。
xlsWS = xlsWB.Worksheets(1)
这句话打开工作簿。可以写成xlsWB.Worksheets(1),也可以写成xlsWB.Worksheets("sheet1")之类。
xlsWS.Cells(1,1).text
上面这句话可以用来给变量赋值也可以倒过来用在给excel赋值上,例如:
‘给变量赋值
T=xlsWS.Cells(1,1)
’给Excel赋值
xlsWS.cells(1,1)=101
创建和保存Excel2007
xlsWB = xlsApp.Workbooks.Add(1)
xlsWS = xlsWB.Worksheets(1)
xlswb.saveas(filepath)
哦,差点忘了,用完Excel一定要关掉应用,否则进程中会留一个Excel的进程。
xlsWB.Close() '关闭excel应用
如果在一个程序中多次用到Excel,那么只需在程序结束时关掉就行了,不必每次都关。
Private Sub frmMain_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
On Error Resume Next
xlsWB.Close() '关闭excel应用
End Sub
PS:我的邮箱是t5lyg@126.com,如遇到同为VB.Net爱好者的网友,欢迎联系交流。