VB.NET 讀取並建立 Excel 檔案(程式碼範例教學)
開發人員需要一種流暢、簡單的方法來存取 VB .NET Excel 檔案。 在本教程中,我們將使用 IronXL 讀取 VB dotnet Excel 文件,並存取所有資料以供專案使用。 我們將學習如何建立各種格式( .xls 、 .xlsx 、 .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' 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)' 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"例如,可以將工作表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. 將資料插入範圍
也可以使用 range 函數將資料寫入多個單元格,如下所示:
' 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的螢幕截圖:
很明顯,在 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' 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. 從工作表存取數據
可以透過以下方式從 Excel 表格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 string5.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的資訊。
教程快速存取
常見問題解答
如何在不使用 Interop 的情況下,在 VB.NET 中讀取 Excel 檔案?
要在 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 可讓您直接對儲存格區域執行求和、求最小值和求最大值等計算。例如,使用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來下載適用於 VB.NET 的 IronXL Excel 庫,或從 IronXL 網站下載 DLL 檔案。
我可以使用VB.NET在單一Excel檔案中建立多個工作表嗎?
是的,在 VB.NET 中使用 IronXL,您可以透過在 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方法指定了不同的路徑。











