当前位置: 首页 > 教程 > VB.Net >

VB.Net Excel工作表

精华
小牛编辑
130浏览
2023-03-14

VB.Net支持Microsoft Excel 2010的COM对象模型和应用程序之间的互操作性。

要应用程序中使用这种互操作性,需要在Windows窗体应用程序中导入名称空间Microsoft.Office.Interop.Excel

VB.Net创建一个Excel文件的应用程序

让我们开始创建一个窗体窗体应用程序按照以下步骤在Microsoft Visual Studio中:文件 -> 新建项目 -> Windows窗体应用程序

最后,选择确定,Microsoft Visual Studio创建一个项目(ExcelSheet)并显示以下Form1

在窗体中插入一个Button控件Button1。
将Microsoft Excel对象库的引用添加到项目。参考以下步骤:

  • 从项目菜单中选择添加引用。如下图所示 -
  • 在COM选项卡上找到Microsoft Excel对象库,然后单击选择。如下图所示 -

  • 最后点击确定

双击代码窗口并填充Button1的Click事件,如下所示。参考以下实现代码 -

'  Add the following code snippet on top of Form1.vb

Imports Excel = Microsoft.Office.Interop.Excel

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim appXL As Excel.Application
        Dim wbXl As Excel.Workbook
        Dim shXL As Excel.Worksheet
        Dim raXL As Excel.Range
        ' Start Excel and get Application object.
        appXL = CreateObject("Excel.Application")
        appXL.Visible = True
        ' Add a new workbook.
        wbXl = appXL.Workbooks.Add
        shXL = wbXl.ActiveSheet
        ' Add table headers going cell by cell.
        shXL.Cells(1, 1).Value = "姓氏"
        shXL.Cells(1, 2).Value = "名字"
        shXL.Cells(1, 3).Value = "姓名"
        shXL.Cells(1, 4).Value = "专业"
        ' Format A1:D1 as bold, vertical alignment = center.
        With shXL.Range("A1", "D1")
            .Font.Bold = True
            .VerticalAlignment = Excel.XlVAlign.xlVAlignCenter
        End With
        ' Create an array to set multiple values at once.
        Dim students(5, 2) As String
        students(0, 0) = "张"
        students(0, 1) = "雨寒"
        students(1, 0) = "牛"
        students(1, 1) = "乐蕊"
        students(2, 0) = "李"
        students(2, 1) = "采梦"
        students(3, 0) = "王"
        students(3, 1) = "妙晴"
        students(4, 0) = "杨"
        students(4, 1) = "思松"
        ' Fill A2:B6 with an array of values (First and Last Names).
        shXL.Range("A2", "B6").Value = students
        ' Fill C2:C6 with a relative formula (=A2 & " " & B2).
        raXL = shXL.Range("C2", "C6")
        raXL.Formula = "=A2 & """"& B2"
        ' Fill D2:D6 values.
        With shXL
            .Cells(2, 4).Value = "生物学"
            .Cells(3, 4).Value = "数学"
            .Cells(4, 4).Value = "物理"
            .Cells(5, 4).Value = "化学"
            .Cells(6, 4).Value = "地理"
        End With
        ' AutoFit columns A:D.
        raXL = shXL.Range("A1", "D1")
        raXL.EntireColumn.AutoFit()
        ' Make sure Excel is visible and give the user control
        ' of Excel's lifetime.
        appXL.Visible = True
        appXL.UserControl = True
        ' Release object references.
        raXL = Nothing
        shXL = Nothing
        wbXl = Nothing
        appXL.Quit()
        appXL = Nothing
        Exit Sub
Err_Handler:
        MsgBox(Err.Description, vbCritical, "Error: " & Err.Number)
    End Sub
End Class

当上面的代码执行并使用Microsoft Visual Studio工具栏上的“开始”按钮运行时,它将显示以下窗口:

点击导出成Excel文件 按钮应用程序将要求保存Excel工作簿,Excel表格内容如下 -