使用IRONXL

如何在 C# 中從 Excel 表格獲取數據

已更新 2024年2月6日
分享:

IronXL 是一個功能豐富的 API,提供多種功能來處理使用 C# 處理 Excel 文件. 本教程將介紹如何使用IronXL在C#中從Excel工作表中提取數據。

若要跟隨此教學,您需要具備以下內容:

  • 在您的機器上安裝了 Microsoft Visual Studio
  • C# 程式設計的基本知識
  • IronXL 程式庫安裝在您的專案中

    您可以從官方網站下載 IronXL,或通過 Visual Studio 中的 NuGet 套件管理器下載。

在 Visual Studio 中安裝 IronXL

要在 C# 專案中安裝 IronXL,請按照以下步驟進行:

  1. 打開 Microsoft Visual Studio。

  2. 創建一個新專案或開啟現有專案。

  3. 在解決方案總管中右鍵點擊專案,然後選擇「管理 NuGet 套件」。

  4. 在「NuGet 套件管理員」視窗中,選擇「瀏覽」標籤。

  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
VB   C#

使用 IronXL 命名空間提供所有必要的類別和函式,以使用 IronXL 庫處理 Excel 文檔。

步驟 2:載入 Excel 文件

第一步是載入文件。IronXL 提供一個Workbook類別來載入 Excel 文件。我們可以使用 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")
VB   C#

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

要創建新的 WorkBook,請使用以下範例代碼:

WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
VB   C#

此代碼以指定的文件格式創建一個新工作簿(這裡, XLSX).

如何從 Excel 表單中提取資料在 C#,圖 3:IronXL 可以加載並創建 .XLS 和 .XLSX 文件格式的 Excel 試算表

IronXL 可以載入和建立以 .XLS 和 .XLSX 檔案格式的 Excel 試算表

步驟 3:檢索 Excel 工作表

在載入 Excel 文件後,需要指定要從中提取數據的 Excel 工作表。 一個 WorkBook 可以包含多個 WorkSheet 物件。 每個工作表需要在訪問資料之前指定工作表的名稱。

WorkSheet worksheet = workbook.WorkSheets ["Sheet1"];
WorkSheet worksheet = workbook.WorkSheets ["Sheet1"];
Dim worksheet As WorkSheet = workbook.WorkSheets ("Sheet1")
VB   C#

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

WorkSheet worksheet = workbook.WorkSheets [0];
WorkSheet worksheet = workbook.WorkSheets [0];
Dim worksheet As WorkSheet = workbook.WorkSheets (0)
VB   C#

此代碼從工作簿中檢索第一個工作表,假設它存在。

步驟 4:從 Excel 工作表檢索數據

從檢索到的 Excel 表中可以存取數據。 IronXL 提供多種方法來從 Excel 表格中檢索資料。 以下是一些最常用的方法:

  • 索引運算符 []: 檢索單個儲存格的值。

    -获取行: 擷取單一資料列。

    -GetColumn:檢索單個資料列。

    -GetRange:檢索一個範圍的儲存格。

    要檢索單個儲存格的值,請使用以下代碼:

object value = worksheet ["A1"].Value;
object value = worksheet ["A1"].Value;
Dim value As Object = worksheet ("A1").Value
VB   C#

此程式碼檢索工作表中 A1 儲存格的值。

要檢索單行數據,請使用以下代碼:

var dataRow = worksheet.GetRow(1);
var dataRow = worksheet.GetRow(1);
Dim dataRow = worksheet.GetRow(1)
VB   C#

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

要檢索單列數據,請使用以下程式碼:

var dataColumn = worksheet.GetColumn(1);
var dataColumn = worksheet.GetColumn(1);
Dim dataColumn = worksheet.GetColumn(1)
VB   C#

此代碼檢索工作表中的第一列數據。

若要檢索一個儲存格範圍,請使用以下代碼:

var cellRange = worksheet.GetRange("A1:B2");
var cellRange = worksheet.GetRange("A1:B2");
Dim cellRange = worksheet.GetRange("A1:B2")
VB   C#

此程式碼從工作表中取得範圍從A1到B2的儲存格。

步驟 5:從 Excel 工作表中提取數據

要從檢索到的數據中提取單個值,需要將其轉換為適當的數據類型。

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

int value = worksheet ["A1"].IntValue;
int value = worksheet ["A1"].IntValue;
Dim value As Integer = worksheet ("A1").IntValue
VB   C#

以下代碼可用於提取一行數據:

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
VB   C#

此代碼提取第一行數據並遍歷該行中的值,將每個值轉換為整數。

接下來,下面的程式碼展示如何提取一列數據:

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
VB   C#

此代碼提取第一列數據,並遍歷該列中的值,將每個值轉換為字串。

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

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
VB   C#

這段代碼提取了從A1到B2的單元格範圍,並遍歷每個單元格中的值。

結論

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

更多關於IronXL

IronXL 是一個使用者友好且方便的庫,可以讀寫 Excel 和 CSV 文件,具有小型且易於記憶的功能。

本教程只是淺談了什麼是IronXL可以做。 IronXL 提供多種額外功能,例如單元格格式化, 數學函數,和條件格式化舉幾個例子。

使用 IronXL 的顯著好處

  • .NET 工程師提供的專業支援,跨平台支援,Azure, AWS,和 Docker。
  • 通過 Microsoft Visual Studio 簡單安裝
  • free trial for development, with licenses starting at $749
  • 輕鬆整合到 C# 或 VB.NET 專案中
< 上一頁
如何將表格轉換為範圍在Excel中
下一個 >
如何在 C# 中創建 CSV 文件(逐步教程)

準備開始了嗎? 版本: 2024.11 剛剛發布

免費 NuGet 下載 總下載次數: 1,111,773 查看許可證 >