VB.Net 2008 引用Excel12

昨天开始写自己第一个dotNet程序,程序要用到读取Excel表格数据(Office 2007)的功能,顺着VB6的思路,也就开始找引用,并且也比较顺利的找到了,但是鼓捣半天总是报错。于是上网求助,发现很多人用的是Office 2003,引用的是Excel11。但是Office 2007是Excel12,按照Excel11的方法来写,会报错。

好不容易找到一老外写的教程,豁然开朗:原来需要在程序前加一句话。

接下来,详细说下VB.Net2008引用Excel12的用法。

1.添加引用

菜单:项目——XX属性...打开属性标签。找到引用项,可以看到当前工程里引用了那些东东。

VB.Net 2008 引用Excel12_第1张图片

点击【添加】按钮,在com选项卡里寻觅……

VB.Net 2008 引用Excel12_第2张图片

选中 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:我的邮箱是[email protected],如遇到同为VB.Net爱好者的网友,欢迎联系交流。

 

 

 

 

 

Public Class frmMain
    Dim xlsApp As Application = CreateObject("Excel.Application")
    Dim xlsWB As Workbook
    Dim xlsWS As Worksheet
    Dim xlsRang As Range

你可能感兴趣的:(VB.Net 2008 引用Excel12)