• 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
  • 相关阅读:
    几种连接数据库的OLEDB驱动程序
    Javascript如何访问和处理系统文件
    如何自学Java 经典
    Android Studio 修改 包名
    Android Studio -导入项目 gradle处理
    Android Studio- 把项目提交到SVN中操作方法
    android studio 运行太慢了
    Java多线程 -sleep 用法详解
    Java -native 方法
    Java多线程 -yield用法
  • 原文地址:https://www.cnblogs.com/transteel/p/1702162.html
Copyright © 2020-2023  润新知