VB.Net - Excel 工作表

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

要在应用程序中利用此互操作性,您需要在 Windows 窗体应用程序中导入命名空间 Microsoft.Office.Interop.Excel

从 VB.Net 创建 Excel 应用程序

让我们按照 Microsoft Visual Studio 中的以下步骤开始创建 Window 窗体应用程序: File → New Project → Windows Forms Applications

最后,选择"确定",Microsoft Visual Studio 将创建您的项目并显示以下 Form1

在窗体中插入按钮控件Button1。

将对 Microsoft Excel 对象库的引用添加到您的项目中。 为此 −

  • 从项目菜单中选择添加引用。

添加引用
  • 在"COM"选项卡上,找到"Microsoft Excel 对象库",然后单击"选择"。

COM 选项卡
  • 单击"确定"。

双击代码窗口并填充Button1的Click事件,如下所示。

'  在 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
      
      ' 启动 Excel 并获取 Application 对象。
      appXL = CreateObject("Excel.Application")
      appXL.Visible = True
      
      ' 添加新工作簿。
      wbXl = appXL.Workbooks.Add
      shXL = wbXl.ActiveSheet
      
      ' 添加逐个单元格的表格标题。
      shXL.Cells(1, 1).Value = "First Name"
      shXL.Cells(1, 2).Value = "Last Name"
      shXL.Cells(1, 3).Value = "Full Name"
      shXL.Cells(1, 4).Value = "Specialization"
      
      ' 将 A1:D1 设置为粗体,垂直对齐 = 居中。
      With shXL.Range("A1", "D1")
         .Font.Bold = True
         .VerticalAlignment = Excel.XlVAlign.xlVAlignCenter
      End With
      
      ' 创建一个数组以一次设置多个值。
      Dim students(5, 2) As String
      students(0, 0) = "Zara"
      students(0, 1) = "Ali"
      students(1, 0) = "Nuha"
      students(1, 1) = "Ali"
      students(2, 0) = "Arilia"
      students(2, 1) = "RamKumar"
      students(3, 0) = "Rita"
      students(3, 1) = "Jones"
      students(4, 0) = "Umme"
      students(4, 1) = "Ayman"
      
      ' 使用值数组(名字和姓氏)填充 A2:B6。
      shXL.Range("A2", "B6").Value = students
      
      ' 用相对公式 (=A2 & " " & B2) 填充 C2:C6。
      raXL = shXL.Range("C2", "C6")
      raXL.Formula = "=A2 & "" "" & B2"
       
      ' 填充 D2:D6 值。
      With shXL
         .Cells(2, 4).Value = "Biology"
         .Cells(3, 4).Value = "Mathmematics"
         .Cells(4, 4).Value = "Physics"
         .Cells(5, 4).Value = "Mathmematics"
         .Cells(6, 4).Value = "Arabic"
      End With
      
      ' 自动调整列 A:D。
      raXL = shXL.Range("A1", "D1")
      raXL.EntireColumn.AutoFit()
      
      ' 确保 Excel 可见,并让用户控制 Excel 的生命周期。
      appXL.Visible = True
      appXL.UserControl = True
      
      ' 释放对象引用。
      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 工具栏上的开始按钮运行时,将显示以下窗口 −

VB.Net Excel 示例

单击该按钮将显示以下 Excel 工作表。 系统会要求您保存工作簿。

VB.Net Excel 结果表