VB .NET 讀取與建立 Excel 檔案(程式碼範例教學)
開發人員需要一種流暢且簡單的方法來存取 VB .NET Excel 檔案。 在本教學中,我們將使用 IronXL 讀取 VB .NET Excel 檔案,並存取所有資料以供專案使用。 我們將學習如何建立各種格式的試算表(.csv 及 .tsv),以及如何透過 VB.NET Excel 程式設計設定儲存格樣式並插入資料。
如何在 VB.NET 中讀取 Excel 檔案
- 下載 VB.NET 讀取 Excel C# 函式庫
- 在 VB.NET 中建立 Excel 檔案
- 將資料插入工作表
- 在 VB.NET 中讀取 Excel 檔案
- 從工作表存取資料
- 對資料執行函式
步驟 1
1. Excel for VB.NET 函式庫
請透過 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 New WorkBook
上述程式碼用於建立新的 Excel 檔案。預設情況下,其副檔名為 .xlsx。
2.2. 建立 XLS 檔案
若您想建立 .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")
上述程式碼將在工作簿 wb 中建立一個名為 Sheet1 的新工作表 ws1。
2.4. 建立多個工作表
您可以透過相同方式建立任意數量的工作表:
' 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"
例如,工作表 ws1 中的資料可插入如下:
' 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"
3.3. 建立與編輯工作表範例
我們將建立一個名為 Sample.xlsx 的新 Excel 檔案,並在其中插入一些資料,以展示我們上述所學的程式碼。
' 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")
以下是我們新建立的 Excel 檔案 Sample.xlsx 的螢幕截圖:
在 VB.NET 應用程式中,使用 IronXL 建立 Excel 檔案是多麼簡單,這點顯而易見。
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
在上述程式碼中,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 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 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
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
此處將顯示 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
這將顯示以下輸出:
此外,我們可以看到 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()
您可在此處進一步了解 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
這段程式碼將產生以下顯示效果:
以及這個 Excel 檔案 Sample.xlsx:
您可透過連結文章進一步了解如何讀取 Excel。
教學快速連結
常見問題
如何在不使用 Interop 的情況下,於 VB.NET 中讀取 Excel 檔案?
若要在 VB.NET 中不使用 Interop 讀取 Excel 檔案,您可以使用 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 允許您直接對儲存格範圍執行求和、最小值和最大值等運算。例如,使用 ws('A1:A10').Sum() 即可計算該範圍內的數值總和。
我能否使用 VB.NET 將資料插入 Excel 試算表中的特定儲存格?
是的,在 VB.NET 中使用 IronXL 時,您可以透過設定儲存格的 Value 屬性來將資料插入特定儲存格,例如 ws1('A1').Value = 'Hello World'。
如何在 VB.NET 中將 Excel 工作簿儲存至特定路徑?
若要使用 IronXL 將 Excel 工作簿儲存至特定路徑,請使用 SaveAs 方法並指定所需檔案路徑,例如:wb.SaveAs('E:\IronXL\Sample.xlsx')。
如何下載用於 VB.NET 開發的 Excel 函式庫?
您可以透過 NuGet 執行命令 `dotnet add package IronXL.Excel`,或從 IronXL 網站下載 DLL 檔案,來取得適用於 VB.NET 的 IronXL.Excel 程式庫。
我能否使用 VB.NET 在單一 Excel 檔案中建立多個工作表?
是的,在 VB.NET 中使用 IronXL 時,您可以透過在 WorkBook 物件上多次呼叫 CreateWorkSheet 方法,於單一 Excel 檔案內建立多個工作表。
如何使用 VB.NET 根據名稱或索引在 Excel 檔案中存取特定的工作表?
透過 VB.NET 中的 IronXL,您可以使用 wb.GetWorkSheet('SheetName') 根據工作表名稱存取工作表,或使用 wb.WorkSheets(index) 根據索引存取工作表。
使用 VB.NET 中的 IronXL 建立 Excel 檔案時,預設儲存位置為何?
預設情況下,使用 VB.NET 中的 IronXL 建立的 Excel 檔案會儲存於專案的 'bin\Debug' 資料夾中,除非透過 SaveAs 方法指定了其他路徑。






