专栏首页VB小源码VB.NET Excel操作类(获取工作簿列表和工作表列表及工作表对象)

VB.NET Excel操作类(获取工作簿列表和工作表列表及工作表对象)

效果展示

引用excel类
Imports Microsoft.Office.Interop

Excel类代码开始
Public Class Cls_excel

返回Excel对象
    ''' <summary>
    ''' 返回Excel对象
    ''' </summary>
    ''' <returns></returns>
    Private Shared Function Xlapp() As Excel.Application
        Try
            Return GetObject(, "Excel.Application")
        Catch ex As Exception
            MsgBox("连接Excel失败!", MsgBoxStyle.Critical, "警告")
            Return Nothing
        End Try
    End Function
返回工作簿列表
    ''' <summary>
    ''' 返回工作簿列表
    ''' </summary>
    ''' <returns></returns>
    Public Shared Function Get_worklist() As ArrayList
        Try
            Dim arr As New ArrayList
            For Each XL In Xlapp.Workbooks
                arr.Add(XL.name)
            Next
            Return arr
        Catch ex As Exception
            Return Nothing
        End Try
    End Function

返回工作表列表
    ''' <summary>
    ''' 返回工作表列表
    ''' </summary>
    ''' <returns></returns>
    Public Shared Function Get_sheetlist(ByVal book As String) As ArrayList
        Try
            Dim arr As New ArrayList
            Dim xll As Excel.Workbook = Xlapp.Workbooks(book)
            For Each XL In xll.Worksheets
                arr.Add(XL.name)
            Next
            Return arr
        Catch ex As Exception
            Return Nothing
        End Try
    End Function
返回指定工作表对象
    ''' <summary>
    ''' 返回选中的工作表
    ''' </summary>
    ''' <returns></returns>
    Public Shared Function XlSheet(ByVal boname As String, ByVal shname As String) As Excel.Worksheet
        Try
            Dim xlll As Excel.Workbook = Xlapp.Workbooks(boname)
            xlll.Activate()
            Dim xlsh As Excel.Worksheet = xlll.Worksheets(shname)
            xlsh.Activate()
            Return xlsh
        Catch ex As Exception
            Return Nothing
        End Try
    End Function
End Class

使用方法:

Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        ListBox1.DataSource = Cls_excel.Get_worklist
    End Sub


    Private Sub ListBox1_Click(sender As Object, e As EventArgs) Handles ListBox1.Click
        ListBox2.DataSource = Cls_excel.Get_sheetlist(ListBox1.SelectedItem)
    End Sub

    Private Sub ListBox2_Click(sender As Object, e As EventArgs) Handles ListBox2.Click
        Dim XL As Object = Cls_excel.XlSheet(ListBox1.SelectedItem, ListBox2.SelectedItem)
        Label2.Text = XL.Name & vbCrLf & "A1单元格的值:" & XL.RANGE("a1").value
    End Sub
End Class

本文分享自微信公众号 - VB小源码(vb_xym),作者:VB小源码

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • vb.net 连接MYSQL数据库,需要MySql.Data.dll连接控件!

    '---------------------------------------------------------------------------...

    巴西_prince
  • VB.NET DATAGRIDVIEW数据导出Excel

    Dim rowc As Integer = prt_dgv.Rows.Count

    巴西_prince
  • VB.NET 通过获取RGB值在Excel单元格填充绘图

    Private Sub ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e ...

    巴西_prince
  • vb.net 连接MYSQL数据库,需要MySql.Data.dll连接控件!

    '---------------------------------------------------------------------------...

    巴西_prince
  • VB6 通过IP判断局域网主机是否在线!

    '************************************************************

    巴西_prince
  • .NET中的密钥加密

    本教程将演示如何通过System.Security.Cryptography在.NET Framework 1.1中实现对称加密/密钥加密。

    MelodyS
  • 类模块——举例

    前面使用Open 进行的文件操作,使用起来不是很方便,但是FileSystemObject里的TextStream使用起来就比较方便了,知道了类之后,就可以使用...

    xyj
  • VB.NET 开发add in 外接程序简单示例

    "-----------------------------------------------------------------------

    巴西_prince
  • VBA实战技巧06: 复制文本到剪贴板

    注意,上述代码运行前需要添加对“Microsoft Forms 2.0 Object Library”库的引用,方法是在VBE中单击菜单“工具——引用”,在“引...

    fanjy
  • VB.NET 获取父子目录的文件名

    巴西_prince

扫码关注云+社区

领取腾讯云代金券