如何在 C# 中從 Excel 工作表中提取資料
IronXL 是一個功能豐富的 API,提供各種功能以在 C# 中處理 Excel 檔案。 本教學將探討如何使用 IronXL 在 C# 中從 Excel 表格中取得資料。
要學習本教程,您需要準備以下物品:
- 您的電腦上已安裝 Microsoft Visual Studio
- 具備 C# 程式設計基礎知識
- 專案中已安裝 IronXL 庫
您可以從官方網站下載 IronXL,也可以透過 Visual Studio 中的 NuGet 套件管理器下載。
在 Visual Studio 中安裝 IronXL
若要在 C# 專案中安裝 IronXL,請依照下列步驟操作:
- 開啟 Microsoft Visual Studio。
- 建立新項目或開啟現有項目。
- 在解決方案資源管理器中以滑鼠右鍵按一下項目,然後選擇"管理 NuGet 套件"。
- 在"NuGet 套件管理員"視窗中,選擇"瀏覽"標籤。
- 在搜尋框中輸入"IronXL",然後按 Enter 鍵。
- 選擇"IronXL.Excel",然後按一下"安裝"按鈕。
- 點選"我接受"按鈕接受許可協議。
- 等待安裝完成。
如何在 C# 中從 Excel 表格中取得資料,圖 1:在 Visual Studio 專案中安裝 IronXL 庫 在 Visual Studio 專案中安裝 IronXL 程式庫
完成這些步驟後,IronXL 應該就可以在您的 C# 專案中使用了。
步驟 1:導入所需庫
新增以下範例程式碼以匯入 IronXL 庫和其他必要的庫。
using IronXL;
using System;
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms;
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 提供了一個用於載入 Excel 檔案的類別。我們可以使用另一個類別來開啟現有的 Excel 檔案或建立一個新的工作簿。
若要載入現有的 Excel 文件,請使用下列程式碼:
WorkBook workbook = WorkBook.Load("path/to/excel/file.xlsx");
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);
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
此程式碼會建立一個指定檔案格式(此處為 XLSX)的新工作簿。
如何在 C# 中從 Excel 表格中提取資料,圖 3:IronXL 可以載入並建立 .XLS 和 .XLSX 檔案格式的 Excel 電子表格 IronXL 可以載入並建立 .XLS 和 .XLSX 檔案格式的 Excel 電子表格。
步驟 3:檢索 Excel 表格
載入 Excel 檔案後,需要指定要從中擷取資料的 Excel 工作表。 一個 WorkBook 可以包含多個 WorkSheet 物件。 每個WorkSheet都需要在存取資料之前指定工作表的名稱。
WorkSheet worksheet = workbook.WorkSheets["Sheet1"];
WorkSheet worksheet = workbook.WorkSheets["Sheet1"];
Dim worksheet As WorkSheet = workbook.WorkSheets("Sheet1")
這段程式碼從工作簿中檢索第一個工作表(工作表名稱為 Sheet1)。 如果要按索引檢索工作表,可以使用下列程式碼:
WorkSheet worksheet = workbook.WorkSheets[0];
WorkSheet worksheet = workbook.WorkSheets[0];
Dim worksheet As WorkSheet = workbook.WorkSheets(0)
這段程式碼從工作簿中檢索第一個工作表(假設它存在)。
步驟 4:從 Excel 表格中檢索資料
透過檢索到的 Excel 表格,就可以存取資料了。 IronXL 提供了多種從 Excel 表格中擷取資料的方法。 以下是一些最常用的方法:
若要取得單一儲存格的值,請使用下列程式碼:
object value = worksheet["A1"].Value;
object value = worksheet["A1"].Value;
Dim value As Object = worksheet("A1").Value
這段程式碼用於取得工作表中儲存格 A1 的值。
若要檢索單行資料,請使用以下程式碼:
var dataRow = worksheet.GetRow(1);
var dataRow = worksheet.GetRow(1);
Dim dataRow = worksheet.GetRow(1)
這段程式碼會檢索工作表中的第一行資料。
若要檢索單列資料,請使用以下程式碼:
var dataColumn = worksheet.GetColumn(1);
var dataColumn = worksheet.GetColumn(1);
Dim dataColumn = worksheet.GetColumn(1)
這段程式碼用於檢索工作表中的第一列資料。
若要擷取一系列儲存格,請使用下列程式碼:
var cellRange = worksheet.GetRange("A1:B2");
var cellRange = worksheet.GetRange("A1:B2");
Dim cellRange = worksheet.GetRange("A1:B2")
這段程式碼檢索工作表中 A1 到 B2 單元格區域。
步驟 5:從 Excel 表格中擷取資料
要從檢索到的資料中提取單一值,需要將其轉換為適當的資料類型。
以下程式碼展示如何從儲存格 A1 中提取整數值:
int value = worksheet["A1"].IntValue;
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
}
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
}
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
}
}
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 的顯著好處
常見問題解答
怎樣在 C# 中將 HTML 轉換為 PDF?
您可以使用 IronPDF 的 RenderHtmlAsPdf 方法將 HTML 字符串轉換為 PDF。您還可以使用 RenderHtmlFileAsPdf 將 HTML 文件轉換為 PDF。
如何在 C# 中無需 Interop 從 Excel 表中提取資料?
您可以使用 IronXL 通過使用 WorkBook 類加載 Excel 文件,並使用類似 GetRow()、GetColumn() 和 GetRange() 的方法來訪問資料。
使用 IronXL 操作 Excel 文件的前提條件是什麼?
您需要 Microsoft Visual Studio、基本的 C# 編程知識,以及通過 NuGet 包管理器安裝的 IronXL 庫來操作 C# 中的 Excel 文件。
如何在我的 Visual Studio 項目中安裝 IronXL?
要安裝 IronXL,請打開 Visual Studio,在解決方案資源管理器中右鍵單擊您的項目,選擇“管理 NuGet 包”,並在“瀏覽”選項卡中搜索'IronXL'。點擊“安裝”將其添加到您的項目中。
如何使用 IronXL 加載 Excel 文件?
使用 WorkBook 類來加載 Excel 文件。例如,WorkBook workbook = WorkBook.Load("path/to/excel/file.xlsx");
如何使用 IronXL 從工作簿中檢索特定的工作表?
您可以使用其名稱檢索工作表:WorkSheet worksheet = workbook.WorkSheets["Sheet1"]; 或按索引:WorkSheet worksheet = workbook.WorkSheets[0];
如何使用 IronXL 從單元格提取資料?
使用單元的索引檢索其值,例如,object value = worksheet["A1"].Value; 並將其轉換為相應的資料類型。
IronXL 可以與 .XLS 和 .XLSX 文件格式一起使用嗎?
是的,IronXL 可以加載和創建 .XLS 和 .XLSX 文件格式的 Excel 電子表格。
如何使用 IronXL 提取單元格範圍?
要提取單元格範圍,使用 var cellRange = worksheet.GetRange("A1:B2"); 並迭代遍歷其值。
使用 IronXL 的一些好處是什麼?
IronXL 提供來自 .NET 工程師的專門支援,跨平台支援,通過 Visual Studio 簡單安裝,免費試用,以及易於集成到 C# 或 VB.NET 項目中。


