跳至頁尾內容
USING IRONXL

如何在 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,請遵循以下步驟:

  1. 打開Microsoft Visual Studio。
  2. 建立一個新專案或打開一個現有專案。
  3. 在解決方案資源管理器中右鍵點擊專案,選擇"管理NuGet封裝"。
  4. 在"NuGet Package Manager"視窗中,選擇"瀏覽"選項卡。
  5. 在搜尋框中輸入"IronXL"並按Enter。
  6. 選擇"IronXL.Excel"並點擊"安裝"按鈕。
  7. 點擊"我接受"按鈕以同意授權協議。
  8. 等候安裝完成。

如何從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
$vbLabelText   $csharpLabel

使用IronXL命名空間提供了使用IronXL程式庫處理Excel文件所需的所有類別和功能。

步驟2:載入Excel文件

第一步是載入文件。IronXL提供了一個WorkBook類來打開現有的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")
$vbLabelText   $csharpLabel

此程式碼將指定的Excel文件載入到WorkBook物件中。

要建立一個新的WorkBook,請使用以下範例程式碼:

WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
$vbLabelText   $csharpLabel

此程式碼建立了一個新的工作簿,以指定的文件格式(此處是XLSX)建立。

如何從C#中的Excel工作表中獲取資料,圖3:IronXL可以在.XLS和.XLSX文件格式中載入和建立Excel電子表格 IronXL可以載入和建立.XLS和.XLSX文件格式的Excel電子表格

步驟3:檢索Excel工作表

載入Excel文件後,必須指明從哪個Excel工作表中獲取資料。 一個WorkSheet物件。 每個WorkSheet在存取資料之前需要指定工作表的名稱。

WorkSheet worksheet = workbook.WorkSheets["Sheet1"];
WorkSheet worksheet = workbook.WorkSheets["Sheet1"];
Dim worksheet As WorkSheet = workbook.WorkSheets("Sheet1")
$vbLabelText   $csharpLabel

此程式碼從工作簿中檢索第一個工作表(名稱為Sheet1的工作表)。 如果您想通過索引檢索工作表,可以使用以下程式碼:

WorkSheet worksheet = workbook.WorkSheets[0];
WorkSheet worksheet = workbook.WorkSheets[0];
Dim worksheet As WorkSheet = workbook.WorkSheets(0)
$vbLabelText   $csharpLabel

此程式碼假定該工作簿中存在工作表,從中檢索第一個工作表。

步驟4:從Excel工作表中檢索資料

從檢索到的Excel工作表中,可以存取資料。 IronXL提供了各種方法來從Excel工作表中檢索資料。 以下是一些最常用的方法:

  • 索引運算子[]:檢索單個單元格的值。
  • GetRow:檢索單行資料。
  • GetColumn:檢索單列資料。
  • GetRange:檢索一個單元格範圍。

要檢索單個單元格的值,請使用以下程式碼:

object value = worksheet["A1"].Value;
object value = worksheet["A1"].Value;
Dim value As Object = worksheet("A1").Value
$vbLabelText   $csharpLabel

此程式碼檢索工作表中A1單元格的值。

要檢索單行資料,請使用以下程式碼:

var dataRow = worksheet.GetRow(1);
var dataRow = worksheet.GetRow(1);
Dim dataRow = worksheet.GetRow(1)
$vbLabelText   $csharpLabel

此程式碼檢索工作表中的第一行資料。

要檢索單列資料,請使用以下程式碼:

var dataColumn = worksheet.GetColumn(1);
var dataColumn = worksheet.GetColumn(1);
Dim dataColumn = worksheet.GetColumn(1)
$vbLabelText   $csharpLabel

此程式碼檢索工作表中的第一列資料。

要檢索單元格範圍,請使用以下程式碼:

var cellRange = worksheet.GetRange("A1:B2");
var cellRange = worksheet.GetRange("A1:B2");
Dim cellRange = worksheet.GetRange("A1:B2")
$vbLabelText   $csharpLabel

此程式碼檢索工作表中從A1到B2的單元格範圍。

步驟5:從Excel工作表中提取資料

要從檢索到的資料中提取單個值,需要將其轉換為適當的資料型別。

以下程式碼範例展示了如何從A1單元格中提取整數值:

int value = worksheet["A1"].IntValue;
int value = worksheet["A1"].IntValue;
Dim value As Integer = worksheet("A1").IntValue
$vbLabelText   $csharpLabel

以下程式碼可用來提取一行資料:

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
$vbLabelText   $csharpLabel

此程式碼提取第一行資料並迭代其每個值,將每個值轉換為整數。

接下來,以下程式碼展示了如何提取一列資料:

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
$vbLabelText   $csharpLabel

此程式碼提取第一列資料並迭代其每個值,將每個值轉換為字串。

下一個範例演示了如何提取一個單元格範圍:

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
$vbLabelText   $csharpLabel

此程式碼提取從A1到B2的單元格範圍,並迭代每個單元格中的值。

結論

本教程探討了如何使用IronXL從C#中的Excel工作表中獲取資料,以及載入Excel文件、檢索所需的工作表、從工作表中檢索資料、提取資料並將資料導入到資料庫。 IronXL提供了一個功能豐富的API來處理Excel文件,使其易於將Excel資料整合到C#應用程式中。 使用IronXL,我們可以讀取和寫入Excel文件,並以程式方式與其資料交互。 此外,我們還可以使用IronXL來自動化Excel任務,例如生成報告、建立圖表格式化單元格

更多關於IronXL的資訊

IronXL是一個用於讀取和寫入Excel及CSV文件的使用者友好且方便的程式庫,具备小巧且易於記憶的功能。

本教程僅淺談了IronXL能做的事。 IronXL提供了一系列其他功能,如單元格格式化數學功能條件格式化,不一而足。

使用IronXL的顯著好處

  • 專注於.NET工程師的支援、跨平台支援、AzureAWS和Docker。
  • 通過Microsoft Visual Studio簡單安裝
  • 用於開發的免費試用,授權起始於$999
  • 容易整合到C#或VB.NET專案

常見問題

如何在C#中將HTML轉換為PDF?

您可以使用IronPDF的RenderHtmlAsPdf方法將HTML字串轉換為PDF。您也可以使用RenderHtmlFileAsPdf將HTML文件轉換為PDF。

如何在C#中不使用Interop從Excel工作表中抓取資料?

您可以使用IronXL在C#中從Excel工作表中抓取資料,方法是使用WorkBook類載入Excel文件,並使用GetRow()GetColumn()GetRange()等方法來存取資料。

使用IronXL在C#中操作Excel文件有哪些先決條件?

您需要擁有Microsoft Visual Studio、C#編程的基本知識,並使用NuGet包管理器安裝IronXL程式庫來操作C#中的Excel文件。

如何在我的Visual Studio項目中安裝IronXL?

要安裝IronXL,請打開Visual Studio,在Solution Explorer中右鍵點擊您的項目,選擇'管理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專案中。

Curtis Chau
技術作家

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

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

Iron 支援團隊

我們線上24小時,每週5天。
聊天
電子郵件
給我打電話