VB.Net 2008 引用Excel12

昨天开始写自己第一个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爱好者的网友,欢迎联系交流。

 

 

 

 

 

Public Class frmMain
    Dim xlsApp As Application = CreateObject("Excel.Application")
    Dim xlsWB As Workbook
    Dim xlsWS As Worksheet
    Dim xlsRang As Range
posted @ 2010-04-01 12:43  TranSteel  阅读(1759)  评论(0编辑  收藏  举报