
如何在 C# 中從 Excel 工作表中提取資料
IronXL 是一個功能豐富的API,提供各種功能來處理C#中的Excel文件。 本教程將探討如何使用IronXL從C#中的Excel工作表中獲取資料。
要遵循本教程,您需要具備以下條件:
- 在您的機器上安裝Microsoft Visual Studio
- 具備C#編程的基本知識
- 在您的專案中安裝IronXL程式庫
您可以從官網下載IronXL,或透過Visual Studio中的NuGet Package Manager進行安裝。
在Visual Studio中安裝IronXL
要在C#專案中安裝IronXL,請遵循以下步驟:
- 打開Microsoft Visual Studio。
- 建立一個新專案或打開一個現有專案。
- 在解決方案資源管理器中右鍵點擊專案,選擇"管理NuGet封裝"。
- 在"NuGet Package Manager"視窗中,選擇"瀏覽"選項卡。
- 在搜尋框中輸入"IronXL"並按Enter。
- 選擇"IronXL.Excel"並點擊"安裝"按鈕。
- 點擊"我接受"按鈕以同意授權協議。
- 等候安裝完成。
在Visual Studio專案中安裝IronXL程式庫
一旦完成這些步驟,IronXL應已安裝並可以在您的C#專案中使用。
步驟1:匯入所需程式庫
新增以下範例程式碼來匯入IronXL程式庫和其他必要的程式庫。
using IronXL;
using System;
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms;Imports IronXL
Imports System
Imports System.Data
Imports System.Data.OleDb
Imports System.Windows.Forms使用IronXL命名空間提供了使用IronXL程式庫處理Excel文件所需的所有類別和功能。
步驟2:載入Excel文件
第一步是載入文件。IronXL提供了一個WorkBook類來打開現有的Excel文件或建立一個新的工作簿。
要載入現有的Excel文件,請使用以下程式碼:
WorkBook workbook = WorkBook.Load("path/to/excel/file.xlsx");Dim workbook As WorkBook = WorkBook.Load("path/to/excel/file.xlsx")此程式碼將指定的Excel文件載入到WorkBook物件中。
要建立一個新的WorkBook,請使用以下範例程式碼:
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)此程式碼建立了一個新的工作簿,以指定的文件格式(此處是XLSX)建立。
IronXL可以載入和建立.XLS和.XLSX文件格式的Excel電子表格
步驟3:檢索Excel工作表
載入Excel文件後,必須指明從哪個Excel工作表中獲取資料。 一個WorkSheet物件。 每個WorkSheet在存取資料之前需要指定工作表的名稱。
WorkSheet worksheet = workbook.WorkSheets["Sheet1"];Dim worksheet As WorkSheet = workbook.WorkSheets("Sheet1")此程式碼從工作簿中檢索第一個工作表(名稱為Sheet1的工作表)。 如果您想通過索引檢索工作表,可以使用以下程式碼:
WorkSheet worksheet = workbook.WorkSheets[0];Dim worksheet As WorkSheet = workbook.WorkSheets(0)此程式碼假定該工作簿中存在工作表,從中檢索第一個工作表。
步驟4:從Excel工作表中檢索資料
從檢索到的Excel工作表中,可以存取資料。 IronXL提供了各種方法來從Excel工作表中檢索資料。 以下是一些最常用的方法:
要檢索單個單元格的值,請使用以下程式碼:
object value = worksheet["A1"].Value;Dim value As Object = worksheet("A1").Value此程式碼檢索工作表中A1單元格的值。
要檢索單行資料,請使用以下程式碼:
var dataRow = worksheet.GetRow(1);Dim dataRow = worksheet.GetRow(1)此程式碼檢索工作表中的第一行資料。
要檢索單列資料,請使用以下程式碼:
var dataColumn = worksheet.GetColumn(1);Dim dataColumn = worksheet.GetColumn(1)此程式碼檢索工作表中的第一列資料。
要檢索單元格範圍,請使用以下程式碼:
var cellRange = worksheet.GetRange("A1:B2");Dim cellRange = worksheet.GetRange("A1:B2")此程式碼檢索工作表中從A1到B2的單元格範圍。
步驟5:從Excel工作表中提取資料
要從檢索到的資料中提取單個值,需要將其轉換為適當的資料型別。
以下程式碼範例展示了如何從A1單元格中提取整數值:
int value = worksheet["A1"].IntValue;Dim value As Integer = worksheet("A1").IntValue以下程式碼可用來提取一行資料:
var dataRow = worksheet.GetRow(1);
var values = dataRow.Values;
foreach (var value in values)
{
int intValue = (int)value;
// Do something with the extracted value
}Dim dataRow = worksheet.GetRow(1)
Dim values = dataRow.Values
For Each value In values
Dim intValue As Integer = CInt(value)
' Do something with the extracted value
Next value此程式碼提取第一行資料並迭代其每個值,將每個值轉換為整數。
接下來,以下程式碼展示了如何提取一列資料:
var dataColumn = worksheet.GetColumn(1);
var values = dataColumn.Values;
foreach (var value in values)
{
string strValue = (string)value;
// Do something with the extracted value
}Dim dataColumn = worksheet.GetColumn(1)
Dim values = dataColumn.Values
For Each value In values
Dim strValue As String = CStr(value)
' Do something with the extracted value
Next value此程式碼提取第一列資料並迭代其每個值,將每個值轉換為字串。
下一個範例演示了如何提取一個單元格範圍:
var cellRange = worksheet.GetRange("A1:B2");
var values = cellRange.Values;
foreach (var row in values)
{
foreach (var value in row)
{
// Do something with the extracted value
}
}Dim cellRange = worksheet.GetRange("A1:B2")
Dim values = cellRange.Values
For Each row In values
For Each value In row
' Do something with the extracted value
Next value
Next row此程式碼提取從A1到B2的單元格範圍,並迭代每個單元格中的值。
結論
本教程探討了如何使用IronXL從C#中的Excel工作表中獲取資料,以及載入Excel文件、檢索所需的工作表、從工作表中檢索資料、提取資料並將資料導入到資料庫。 IronXL提供了一個功能豐富的API來處理Excel文件,使其易於將Excel資料整合到C#應用程式中。 使用IronXL,我們可以讀取和寫入Excel文件,並以程式方式與其資料交互。 此外,我們還可以使用IronXL來自動化Excel任務,例如生成報告、建立圖表和格式化單元格。
更多關於IronXL的資訊
IronXL是一個用於讀取和寫入Excel及CSV文件的使用者友好且方便的程式庫,具备小巧且易於記憶的功能。
本教程僅淺談了IronXL能做的事。 IronXL提供了一系列其他功能,如單元格格式化、數學功能和條件格式化,不一而足。
使用IronXL的顯著好處

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。
相關文章



