.NET讀取Excel檔案並建立Excel試算表(VB .NET程式碼範例教學)
開發人員需要一種流暢、簡單的方法來讀取Excel檔案和建立Excel試算表。 在本教程中,我們將使用IronXL讀取 VB dotnet Excel 文件,並存取所有資料以供專案使用。 我們將學習如何建立各種格式的電子表格(.csv 和 .tsv),以及如何使用 VB .NET Excel 程式設定儲存格樣式和插入資料。
如何在.NET中讀取Excel文件
- 下載.NET讀取 Excel C# 函式庫
- 使用.NET建立 Excel 文件
- 將資料插入工作表
- 在.NET中讀取Excel文件
- 從工作表存取數據
- 對資料執行函數
步驟 1
1. Excel for VB .NET函式庫
使用DLL 下載或NuGet取得IronXL Excel for VB .NET函式庫。 IronXL是我們在.NET專案中快速存取 Excel 資料的第一步,也是我們將在本教學中使用的工具(開發免費)。
Install-Package IronXL.Excel
操作指南
2. 使用.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. 將資料插入範圍
也可以使用 range 函數將資料寫入多個單元格,如下所示:
' 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
注意:預設情況下,新的 Excel 檔案將在專案的 bin\Debug 資料夾中建立。 如果要建立自訂路徑下的新文件,請使用:
wb.SaveAs(@"E:\IronXL\Sample.xlsx")
以下是我們新建的 Excel 檔案的螢幕截圖 Sample.xlsx:
很明顯,在 VB .NET應用程式中使用 IronXL 建立 Excel 檔案是多麼簡單。
4. 在.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. 從工作表存取數據
可以透過以下方式從 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
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的資訊。
教程快速訪問
存取IronXL的 API 參考文檔,以了解如何在 VB .NET專案中輕鬆使用 Excel。尋找功能、函數、類別等列表。
文件 API 參考常見問題解答
怎樣才能在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工作時,可以創建和操作Excel文件格式,例如.xls, .xlsx, .csv, 和.tsv。
我如何在VB.NET中對Excel數據進行計算?
IronXL允許您在單元格範圍內直接執行計算,如Sum、Min和Max。例如,使用ws('A1:A10').Sum()來計算該範圍中數值的總和。
我可以在VB.NET中將數據插入到Excel工作表的特定單元格中嗎?
是的,使用IronXL在VB.NET中,可以通過設置單元格的Value屬性來將數據插入到特定單元格中,例如ws1('A1').Value = 'Hello World'。
如何將Excel工作簿保存到VB.NET中的特定路徑?
要使用IronXL將Excel工作簿保存到特定路徑,請使用SaveAs方法及所需的文件路徑,例如wb.SaveAs('E:\IronXL\Sample.xlsx')。
如何下載VB.NET開發的Excel庫?
你可以通過NuGet運行dotnet add package IronXL.Excel命令或從IronXL網站下載DLL來下載IronXL Excel庫。
我可以在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方法指定了不同的路徑。






