VB.Net - Excel工作表

2022-05-26 11:41 更新

VB.Net提供對(duì)Microsoft Excel 2010的COM對(duì)象模型和應(yīng)用程序之間的互操作性的支持。

要在應(yīng)用程序中使用此互操作性,您需要在Windows窗體應(yīng)用程序中導(dǎo)入命名空間Microsoft.Office.Interop.Excel。

從VB.Net創(chuàng)建一個(gè)Excel應(yīng)用程序

讓我們從Microsoft Visual Studio中的以下步驟開始創(chuàng)建窗體表單應(yīng)用程序:文件 - >新建項(xiàng)目 - > Windows窗體應(yīng)用程序

最后,選擇確定,Microsoft Visual Studio創(chuàng)建您的項(xiàng)目并顯示以下Form1。

在窗體中插入Button控件Button1。

向項(xiàng)目中添加對(duì)Microsoft Excel對(duì)象庫(kù)的引用。 進(jìn)行以下操作:

  • 從項(xiàng)目菜單中選擇添加引用。

    添加引用
  • 在COM選項(xiàng)卡上,找到Microsoft Excel對(duì)象庫(kù),然后單擊選擇。

    COM選項(xiàng)卡
  • 點(diǎn)擊OK。

雙擊代碼窗口并填充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 = "First Name"
      shXL.Cells(1, 2).Value = "Last Name"
      shXL.Cells(1, 3).Value = "Full Name"
      shXL.Cells(1, 4).Value = "Specialization"
      ' 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) = "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"
      ' 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 = "Biology"
          .Cells(3, 4).Value = "Mathmematics"
          .Cells(4, 4).Value = "Physics"
          .Cells(5, 4).Value = "Mathmematics"
          .Cells(6, 4).Value = "Arabic"
      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

當(dāng)使用Microsoft Visual Studio工具欄上的“開始”按鈕執(zhí)行并運(yùn)行上述代碼時(shí),將顯示以下窗口:

VB.Net Excel的實(shí)例

單擊按鈕將顯示以下excel表。 將要求您保存工作簿。

VB.Net的Excel表格結(jié)果

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)