VB .NET 讀取與建立 Excel 文件(程式碼範例教程)
開發者需要一個流暢且簡單的方法來存取 VB .NET Excel 文件。 在這個教學中,我們將使用 IronXL 來讀取 VB .NET Excel 文件並存取我們專案使用的所有資料。 我們將學習如何建立各種格式(.csv 和 .tsv)的電子表格,以及使用 VB.NET Excel 程式設置單元格樣式和插入資料。
如何在 VB.NET 中讀取 Excel 文件
- Download VB.NET Read Excel C# Library
- 在 VB.NET 建立 Excel 文件
- 插入資料到工作表
- 在 VB.NET 讀取 Excel 文件
- 從工作表中存取資料
- 對資料執行功能
步驟 1
1. VB.NET Library 的 Excel 程式庫
使用DLL 下載或NuGet獲取 IronXL Excel for VB.NET 程式庫。 IronXL 是我們快速在 VB.NET 專案中存取 Excel 資料的第一步,也是我們在本教程中將使用的工具(開發中免費使用)。
Install-Package IronXL.Excel
教程指南
2. 在 VB.NET 建立 Excel 文件
IronXL 提供了在 VB.NET 專案中建立 Excel(.xlsx 格式)文件的最簡單方法。 之後,我們可以插入資料,還可以設置像字體樣式或邊框這樣的單元格屬性。
2.1. 建立 Excel 文件
首先讓我們建立一個工作簿:
' Create a new Excel workbook with the default format (.xlsx)
Dim wb As WorkBook = WorkBook.Create()
' Create a new Excel workbook with the default format (.xlsx)
Dim wb As WorkBook = WorkBook.Create()
上面的程式碼是用於建立新 Excel 文件。預設情況下,其擴展名是 .xlsx。
2.2. 建立 XLS 文件
如果您希望建立 .xls 擴展名的文件,您可以使用以下程式碼:
' Create a new Excel workbook with .xls format
Dim wb As New WorkBook(ExcelFileFormat.XLS)
' Create a new Excel workbook with .xls format
Dim wb As New WorkBook(ExcelFileFormat.XLS)
2.3. 建立工作表
建立工作簿後,可以按以下方式建立 Excel 工作表:
' Create a new worksheet named "Sheet1" in the workbook
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
' Create a new worksheet named "Sheet1" in the workbook
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
上面的程式碼將在工作簿 wb 中建立一個名稱為 Sheet1 的新工作表 ws1。
2.4. 建立多個工作表
任何數量的工作表都可以以相同的方式建立:
' Create additional worksheets
Dim ws2 As WorkSheet = wb.CreateWorkSheet("Sheet2")
Dim ws3 As WorkSheet = wb.CreateWorkSheet("Sheet3")
' Create additional worksheets
Dim ws2 As WorkSheet = wb.CreateWorkSheet("Sheet2")
Dim ws3 As WorkSheet = wb.CreateWorkSheet("Sheet3")
3. 插入資料到工作表
3.1. 插入資料到單元格
現在我們可以輕鬆地將資料插入到工作表的單元格中,如下所示:
' Insert a value into a specific cell
worksheet("CellAddress").Value = "MyValue"
' Insert a value into a specific cell
worksheet("CellAddress").Value = "MyValue"
例如,worksheet ws1中的資料可以插入如下:
' Insert "Hello World" into cell A1 of the worksheet
ws1("A1").Value = "Hello World"
' Insert "Hello World" into cell A1 of the worksheet
ws1("A1").Value = "Hello World"
上述程式碼將在工作表 ws1 的單元格 A1 中寫入 Hello World。
3.2. 插入資料到範圍
也可以使用範圍功能將資料寫入多個單元格,如下所示:
' Insert "NewValue" into the range from cell A3 to A8
ws1("A3:A8").Value = "NewValue"
' Insert "NewValue" into the range from cell A3 to A8
ws1("A3:A8").Value = "NewValue"
3.3. 建立和編輯工作表範例
我們將建立一個新的 Excel 文件 Sample.xlsx,並插入一些資料以展示我們上述學到的程式碼。
' Import IronXL namespace for Excel operations
Imports IronXL
' Main subroutine to create and edit Excel
Sub Main()
' Create a new workbook in XLSX format
Dim wb As New WorkBook(ExcelFileFormat.XLSX)
' Create a worksheet named "Sheet1"
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
' Insert data into cells
ws1("A1").Value = "Hello"
ws1("A2").Value = "World"
' Insert a range of values
ws1("B1:B8").Value = "RangeValue"
' Save the workbook as "Sample.xlsx"
wb.SaveAs("Sample.xlsx")
End Sub
' Import IronXL namespace for Excel operations
Imports IronXL
' Main subroutine to create and edit Excel
Sub Main()
' Create a new workbook in XLSX format
Dim wb As New WorkBook(ExcelFileFormat.XLSX)
' Create a worksheet named "Sheet1"
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
' Insert data into cells
ws1("A1").Value = "Hello"
ws1("A2").Value = "World"
' Insert a range of values
ws1("B1:B8").Value = "RangeValue"
' Save the workbook as "Sample.xlsx"
wb.SaveAs("Sample.xlsx")
End Sub
注意:預設情況下,新的 Excel 文件將建立在專案的 bin\Debug 資料夾中。 如果我們想在自定義路徑中建立新文件,請使用:
wb.SaveAs(@"E:\IronXL\Sample.xlsx")
wb.SaveAs(@"E:\IronXL\Sample.xlsx")
以下是我們新建立的 Excel 文件 Sample.xlsx 的截圖:
很明顯,使用 IronXL 來建立 Excel 文件在 VB.NET 應用程式中是多麼簡單。
4. 在 VB.NET 中讀取 Excel 文件
IronXL 也提供了一個簡單的方法來在您的 VB .NET 專案中讀取 Excel(.xlsx)文件。 為此,只需獲取 Excel 文件,將其載入到您的專案中,讀取其資料,然後根據需要使用它。
請按照以下步驟操作:
4.1. 在專案中存取 Excel 文件
WorkBook 是 IronXL 的類,其物件提供對 Excel 文件及其功能的完全存取。 例如,如果我們想要存取 Excel 文件,我們只需使用:
' Load the Excel file "sample.xlsx" into a workbook
Dim wb As WorkBook = WorkBook.Load("sample.xlsx") 'Excel file path
' Load the Excel file "sample.xlsx" into a workbook
Dim wb As WorkBook = WorkBook.Load("sample.xlsx") 'Excel file path
在上面的程式碼中,WorkBook.Load() 函式將 sample.xlsx 載入到 wb 中。 可以通過存取 Excel 文件的特定工作表來對 wb 執行任何型別的功能。
4.2. 存取特定工作表
要存取 Excel 中的特定表單,請使用 WorkSheet 類,可以使用以下不同的方式:
按表名
' Access worksheet by name
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1") 'by sheet name
' Access worksheet by name
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1") 'by sheet name
按表索引
' Access worksheet by index
Dim ws As WorkSheet = wb.WorkSheets(0) 'by sheet index
' Access worksheet by index
Dim ws As WorkSheet = wb.WorkSheets(0) 'by sheet index
預設表
' Access the default worksheet
Dim ws As WorkSheet = wb.DefaultWorkSheet() 'for the default sheet
' Access the default worksheet
Dim ws As WorkSheet = wb.DefaultWorkSheet() 'for the default sheet
第一個表
' Access the first worksheet in the workbook
Dim sheet As WorkSheet = wb.WorkSheets.FirstOrDefault() 'for the first sheet
' Access the first worksheet in the workbook
Dim sheet As WorkSheet = wb.WorkSheets.FirstOrDefault() 'for the first sheet
獲得 Excel 表 ws 後,您可以從對應的 Excel 文件中的工作表中獲取任何型別的資料並執行所有 Excel 功能。
5. 從工作表中存取資料
可以通過如下方式從 ExcelSheet ws 存取資料:
' Retrieve values from specific cells
Dim int_Value As Integer = ws("A2").IntValue 'for integer
Dim str_value As String = ws("A2").ToString() 'for string
' Retrieve values from specific cells
Dim int_Value As Integer = ws("A2").IntValue 'for integer
Dim str_value As String = ws("A2").ToString() 'for string
5.1. 從特定列中獲取資料
也可以從特定列的多個單元格中獲取資料,方法如下:
' Loop through cells in a specific range and print their values
For Each cell In ws("A2:A10")
Console.WriteLine("value is: {0}", cell.Text)
Next cell
' Loop through cells in a specific range and print their values
For Each cell In ws("A2:A10")
Console.WriteLine("value is: {0}", cell.Text)
Next cell
它將顯示從單元格 A2 到 A10 的值。 下面提供了上述討論的程式碼範例。
' Example: Load and display values from a column
Imports IronXL
Sub Main()
' Load the workbook from file
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
' Get the first worksheet
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
' Loop through cells in range A2:A10
For Each cell In ws("A2:A10")
Console.WriteLine("value is: {0}", cell.Text)
Next
Console.ReadKey()
End Sub
' Example: Load and display values from a column
Imports IronXL
Sub Main()
' Load the workbook from file
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
' Get the first worksheet
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
' Loop through cells in range A2:A10
For Each cell In ws("A2:A10")
Console.WriteLine("value is: {0}", cell.Text)
Next
Console.ReadKey()
End Sub
這將顯示以下輸出:
我們可以看到 Excel 文件 Sample.xlsx 的螢幕截圖:
6. 執行資料上的功能
可以通過應用 Sum、Min 或 Max 等聚合函式來簡單地從 Excel 工作表中存取過濾資料,如下所示:
' Aggregate functions on a range of data
Dim sum As Decimal = ws("From:To").Sum()
Dim min As Decimal = ws("From:To").Min()
Dim max As Decimal = ws("From:To").Max()
' Aggregate functions on a range of data
Dim sum As Decimal = ws("From:To").Sum()
Dim min As Decimal = ws("From:To").Min()
Dim max As Decimal = ws("From:To").Max()
您可以在這裡閱讀更多關於Excel 聚合函式。
' Example: Apply functions to data
Imports IronXL
Sub Main()
' Load the workbook
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
' Get the first worksheet
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
' Perform aggregate calculations
Dim sum As Decimal = ws("G2:G10").Sum()
Dim min As Decimal = ws("G2:G10").Min()
Dim max As Decimal = ws("G2:G10").Max()
' Print the results
Console.WriteLine("Sum is: {0}", sum)
Console.WriteLine("Min is: {0}", min)
Console.WriteLine("Max is: {0}", max)
Console.ReadKey()
End Sub
' Example: Apply functions to data
Imports IronXL
Sub Main()
' Load the workbook
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
' Get the first worksheet
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
' Perform aggregate calculations
Dim sum As Decimal = ws("G2:G10").Sum()
Dim min As Decimal = ws("G2:G10").Min()
Dim max As Decimal = ws("G2:G10").Max()
' Print the results
Console.WriteLine("Sum is: {0}", sum)
Console.WriteLine("Min is: {0}", min)
Console.WriteLine("Max is: {0}", max)
Console.ReadKey()
End Sub
這段程式碼將給我們這樣的顯示:
以及這個 Excel 文件 Sample.xlsx:
您可以在連結文章中了解更多關於讀取 Excel。
快速存取教程
常見問題
我如何在VB.NET中讀取Excel檔案而不使用Interop?
要在VB.NET中讀取Excel檔案而不使用Interop,您可以使用IronXL的WorkBook.Load方法來載入檔案。載入後,您可以使用WorkSheet類別從特定工作表存取資料。
在VB.NET中建立Excel檔案的步驟是什麼?
在VB.NET中,若要使用IronXL建立Excel檔案,請首先實例化一個新的WorkBook物件。使用CreateWorkSheet方法來新增工作表,並通過設置單元格值來填充它們。
在VB.NET中是否可以處理不同格式的Excel檔案?
是的,在VB.NET中使用IronXL時,您可以建立和操作格式如.xls、.xlsx、.csv和.tsv的Excel檔案。
如何在VB.NET中對Excel資料進行計算?
IronXL允許您直接在單元格範圍上進行計算,如Sum、Min和Max。例如,使用ws('A1:A10').Sum()來計算該範圍內的值的總和。
我可以使用VB.NET將資料插入到Excel工作表的特定單元格嗎?
可以,在VB.NET中使用IronXL,您可以通過設置單元格的Value屬性將資料插入到特定單元格,例如ws1('A1').Value = 'Hello World'。
如何在VB.NET中將Excel工作簿保存到特定路徑?
要使用IronXL在VB.NET中將Excel工作簿保存到特定路徑,請使用SaveAs方法並指定所需的文件路徑,例如wb.SaveAs('E:\IronXL\Sample.xlsx')。
我如何下載用於VB.NET開發的Excel程式庫?
您可以通過在NuGet中運行命令dotnet add package IronXL.Excel或從IronXL網站下載DLL來下載IronXL的Excel程式庫以用於VB.NET。
我可以使用VB.NET在單個Excel檔案中建立多個工作表嗎?
可以,使用IronXL在VB.NET中,您可以通過在WorkBook物件上多次調用CreateWorkSheet方法來在單個Excel檔案中建立多個工作表。
如何在VB.NET中按名稱或索引存取Excel檔案中的特定工作表?
在VB.NET中使用IronXL,您可以通過名稱存取工作表wb.GetWorkSheet('SheetName'),或通過索引wb.WorkSheets(index)。
使用IronXL在VB.NET中建立的Excel檔案預設保存在哪裡?
預設情況下,使用IronXL在VB.NET中建立的Excel檔案保存於專案的'bin\Debug'文件夾,除非使用SaveAs方法指定了其他路徑。






