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. Excel for VB.NET 函式庫
獲取 IronXL Excel for VB.NET 函式庫使用 DLL 下載 或 NuGet. IronXL 是我們在 VB.NET 專案中快速存取 Excel 數據的第一步,這是我們在本教程中將使用的工具。 (開發免費使用).
Install-Package IronXL.Excel
教學指南
2. 在VB.NET中創建Excel文件
IronXL 提供了最簡單的方法來創建 Excel 文件。 (.xlsx
格式) 在 VB.NET 項目中檔案之後,我們可以插入數據並設置單元格屬性,如字體樣式或邊框。
2.1. 建立 Excel 檔案
讓我們首先建立一個 WorkBook:
Dim wb As New WorkBook
Dim wb As New WorkBook
上面的程式碼是用來建立一個新的 Excel 檔案。預設情況下,檔案的擴展名是 .xlsx
。
2.2. 建立 XLS 檔案
如果您想建立一個 .xls
擴展名的檔案,您可以使用這個程式碼。
Dim wb As New WorkBook(ExcelFileFormat.XLS)
Dim wb As New WorkBook(ExcelFileFormat.XLS)
2.3. 創建工作表
創建工作簿後,可以如下創建 Excel 工作表:
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
上面的程式碼將在 WorkBook wb
中創建名為 sheet1
的新工作表 ws1
。
2.4. 建立多個工作表
可以使用相同的方法創建任意數量的工作表:
Dim ws2 As WorkSheet = wb.CreateWorkSheet("Sheet2")
Dim ws3 As WorkSheet = wb.CreateWorkSheet("Sheet3")
Dim ws2 As WorkSheet = wb.CreateWorkSheet("Sheet2")
Dim ws3 As WorkSheet = wb.CreateWorkSheet("Sheet3")
3. 將資料插入工作表
3.1. 插入資料到儲存格
現在我們可以輕鬆地將資料插入到工作表的儲存格,如下所示:
worksheet("CellAddress").Value = "MyValue"
worksheet("CellAddress").Value = "MyValue"
例如,工作表 ws1
中的資料可以插入為:
ws1("A1").Value = "Hello World"
ws1("A1").Value = "Hello World"
上述程式碼將在工作表 ws1
的 A1
單元格中寫入 Hello World
。
3.2. 插入資料至範圍
也可以使用範圍函數將資料寫入多個儲存格,如下所示:
ws1("A3:A8").Value = "NewValue"
ws1("A3:A8").Value = "NewValue"
上述代碼會將 NewValue
從工作表 ws1
的單元格 A3
寫到 A8
。
3.3. 建立和編輯工作表範例
我們將建立一個新的 Excel 文件 Sample.xlsx
並插入一些數據,以展示我們上面學到的代碼。
/**
Create and Edit Excel
anchor-create-and-edit-worksheets-example
**/
Imports IronXL
Sub Main()
Dim wb As New WorkBook(ExcelFileFormat.XLSX)
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
ws1("A1").Value = "Hello"
ws1("A2").Value = "World"
ws1("B1:B8").Value = "RangeValue"
wb.SaveAs("Sample.xlsx")
End Sub
/**
Create and Edit Excel
anchor-create-and-edit-worksheets-example
**/
Imports IronXL
Sub Main()
Dim wb As New WorkBook(ExcelFileFormat.XLSX)
Dim ws1 As WorkSheet = wb.CreateWorkSheet("Sheet1")
ws1("A1").Value = "Hello"
ws1("A2").Value = "World"
ws1("B1:B8").Value = "RangeValue"
wb.SaveAs("Sample.xlsx")
End Sub
注意:預設情況下,新Excel文件將在專案的bin>Debug
資料夾中創建。如果我們想在自定義路徑中創建新文件,則:
wb.SaveAs(@"E:\IronXL\Sample.xlsx")
Here is the screenshot of our newly created Excel file sample.xlsx
:
很明顯,在VB.NET應用程式中使用 IronXL
創建Excel文件是多麼簡單。
4. 使用 VB.NET 讀取 Excel 文件
IronXL 也提供了一種簡單的方法來讀取 Excel (.xlsx
) 在您的VB dotnet項目中處理檔案。為此,只需獲取Excel文件,將其加載到您的項目中,讀取其數據,並根據您的需求使用它。
請按照以下步驟操作:
4.1. 在專案中存取 Excel 檔案
WorkBook
是 IronXL 的類別,其對象提供對 Excel 檔案及其功能的全面訪問。 例如,如果我們想要存取 Excel 檔案,我們只需使用:
WorkBook wb = WorkBook.Load("sample.xlsx") 'Excel file path
WorkBook wb = WorkBook.Load("sample.xlsx") 'Excel file path
在上面的程式碼中,WorkBook.Load()將
sample.xlsx載入到
wb中。可以通過存取 Excel 文件的特定工作表對
wb` 執行任何類型的函式。
4.2. 訪問特定工作表
要訪問 Excel 中的特定工作表,可以使用 WorkSheet
類,這個類可以通過以下不同方式使用:
4.2.1. 按工作表名稱
Dim ws As WorkSheet = WorkBook.GetWorkSheet("sheet1") 'by sheet name
Dim ws As WorkSheet = WorkBook.GetWorkSheet("sheet1") 'by sheet name
wb
是在上述部分聲明的 WorkBook。
4.2.2. 按工作表索引
Dim ws As WorkSheet = WorkBook.WorkSheets(0) 'by sheet index
Dim ws As WorkSheet = WorkBook.WorkSheets(0) 'by sheet index
4.2.3. 預設工作表
Dim ws As WorkSheet = workbook.DefaultWorkSheet() 'for the default sheet:
Dim ws As WorkSheet = workbook.DefaultWorkSheet() 'for the default sheet:
4.2.4. 第一張表單
Dim sheet As WorkSheet = workbook.WorkSheets.FirstOrDefault() 'for the first sheet:
Dim sheet As WorkSheet = workbook.WorkSheets.FirstOrDefault() 'for the first sheet:
4.2.1. 第一或預設工作表
Dim sheet As WorkSheet = workbook.WorkSheets.FirstOrDefault() 'for the first or default sheet:
Dim sheet As WorkSheet = workbook.WorkSheets.FirstOrDefault() 'for the first or default sheet:
在獲取 Excel 工作表 ws
之後,您可以從對應的工作表中獲取任何類型的數據,並執行所有 Excel 功能。
5. 從工作表存取資料
可以這樣從 ExcelSheet ws
存取資料:
Dim int_Value As Integer = sheet("A2").IntValue 'for integer
Dim str_value As String = sheet("A2").ToString() 'for string
Dim int_Value As Integer = sheet("A2").IntValue 'for integer
Dim str_value As String = sheet("A2").ToString() 'for string
5.1. 從指定欄位獲取資料
這樣做也可以從指定欄位的多個單元格獲取資料:
For Each cell In sheet("A2:A10")
Console.WriteLine("value is: {0}", cell.Text)
Next cell
For Each cell In sheet("A2:A10")
Console.WriteLine("value is: {0}", cell.Text)
Next cell
它將顯示從單元格 A2
到 A10
的值。以下是上述整個討論的代碼示例。
/**
Load and Edit Values
anchor-data-from-specific-column
**/
Imports IronXL
Sub Main()
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
For Each cell In ws("A2:A10")
Console.WriteLine("value is: {0}", cell.Text)
Next
Console.ReadKey()
End Sub
/**
Load and Edit Values
anchor-data-from-specific-column
**/
Imports IronXL
Sub Main()
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
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工作表中的篩選數據是非常簡單的:
Dim sum As Decimal = ws("From:To").Sum()
Dim min As Decimal = ws("From:To").Min()
Dim max As Decimal = ws("From:To").Max()
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 聚合函数 這裡。
/**
Apply Functions to Data
anchor-perform-functions-on-data
**/
Imports IronXL
Sub Main()
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
Dim sum As Decimal = ws("G2:G10").Sum()
Dim min As Decimal = ws("G2:G10").Min()
Dim max As Decimal = ws("G2:G10").Max()
Console.WriteLine("Sum is: {0}", sum)
Console.WriteLine("Min is: {0}", min)
Console.WriteLine("Max is: {0}", max)
Console.ReadKey()
End Sub
/**
Apply Functions to Data
anchor-perform-functions-on-data
**/
Imports IronXL
Sub Main()
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
Dim sum As Decimal = ws("G2:G10").Sum()
Dim min As Decimal = ws("G2:G10").Min()
Dim max As Decimal = ws("G2:G10").Max()
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 在連結文章中。