如何在 C# 中匯入 Excel 文件

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronXL讓 C# 開發人員只需一行程式碼即可匯入 Excel 數據,支援 XLSX、CSV 和其他格式,無需互通依賴項,即可立即存取儲存格、區域和工作表以進行資料操作。

快速入門:立即載入您的 Excel 文件

只需使用 IronXL 的無超時 API 進行一次方法調用,即可在幾秒鐘內加載任何受支援的 Excel 工作表(XLSX、CSV 等)——無需互操作,輕鬆便捷。 立即開始與工作簿進行交互,根據需要存取儲存格、區域或工作表。

  1. 使用NuGet套件管理器安裝https://www.nuget.org/packages/IronXl.Excel

    PM > Install-Package IronXl.Excel
  2. 複製並運行這段程式碼。

    WorkBook wb = IronXl.WorkBook.Load("path/to/data.xlsx");
  3. 部署到您的生產環境進行測試

    今天就在您的專案中開始使用免費試用IronXL

    arrow pointer
## 導入 Excel 資料 C#
  • 使用IronXL庫導入數據
  • 在 C# 中導入 Excel 數據
  • 導入特定單元格區域的數據
  • 匯入包含聚合函數(例如 SUM、AVG、MIN、MAX 等)的 Excel 數據
How To Work related to 如何在 C# 中匯入 Excel 文件

步驟 1

安裝IronXL庫

IronXL讓 Excel 導入更輕鬆

本教學將使用IronXL Excel 庫提供的函數匯入資料。 該軟體可免費用於開發。 IronXL提供了一個全面的C# Excel API ,簡化了 Excel 檔案的操作,無需 Microsoft Office 或 Interop 依賴項。 這使其成為伺服器環境和雲端部署的理想選擇。

安裝方法

透過 DLL 下載或使用NuGet套件導航將其安裝到您的C# 專案中。 有關詳細的安裝指南,請查看我們的入門概述

Install-Package IronXl.Excel

操作指南

訪問項目中的工作表

基本工作簿載入流程

為了滿足我們今天的專案需求,我們將使用在步驟 1 中安裝的IronXL軟體將 Excel 資料匯入到我們的 C# 應用程式中。該庫支援各種 Excel 格式,並提供了載入電子表格的直覺方法。

在步驟 2 中,我們將使用IronXL的 WorkBook.Load() 函數將我們的 Excel 工作簿載入到我們的 CSharp 專案中。 在此函數中,我們將 Excel 工作簿的路徑作為字串參數傳遞:

// Load Excel file
WorkBook wb = WorkBook.Load("Path");
// Load Excel file
WorkBook wb = WorkBook.Load("Path");
$vbLabelText   $csharpLabel

指定路徑的 Excel 檔案將會載入到 wb。 此方法支援 XLSX、XLS、CSV、TSV 和其他常見電子表格格式。

存取特定工作表

接下來,我們需要存取 Excel 文件中的特定工作表,該文件中的資料將匯入專案中。 為此,我們可以使用IronXL的 GetWorkSheet() 函數,將工作表名稱作為字串參數傳遞,以指定要匯入的工作簿中的哪個工作表。 請閱讀我們的綜合指南,以了解更多關於管理工作表的資訊。

// Specify sheet name of Excel WorkBook
WorkSheet ws = wb.GetWorkSheet("SheetName");
// Specify sheet name of Excel WorkBook
WorkSheet ws = wb.GetWorkSheet("SheetName");
$vbLabelText   $csharpLabel

工作表將以 ws 的形式匯入,而 wb 是我們在上面的程式碼範例中定義的工作簿。

存取工作表的其他方法

以下還有幾種方法可以將 Excel 工作表匯入到專案中。 每種方法都根據您的特定使用場景提供了靈活性:

// Import WorkSheet by various methods

// by sheet indexing
WorkSheet mySheet = wb.WorkSheets[SheetIndex];

// get default WorkSheet
WorkSheet defaultSheet = wb.DefaultWorkSheet;

// get first WorkSheet
WorkSheet firstSheet = wb.WorkSheets.First();

// for the first or default sheet
WorkSheet firstOrDefaultSheet = wb.WorkSheets.FirstOrDefault();
// Import WorkSheet by various methods

// by sheet indexing
WorkSheet mySheet = wb.WorkSheets[SheetIndex];

// get default WorkSheet
WorkSheet defaultSheet = wb.DefaultWorkSheet;

// get first WorkSheet
WorkSheet firstSheet = wb.WorkSheets.First();

// for the first or default sheet
WorkSheet firstOrDefaultSheet = wb.WorkSheets.FirstOrDefault();
$vbLabelText   $csharpLabel

現在,我們可以輕鬆地從指定的 Excel 文件中匯入任何類型的資料。 讓我們探討一下在專案中匯入 Excel 文件資料的所有可能方面。


在 C# 中導入 Excel 數據

基本單元格導入方法

這是將 Excel 文件資料匯入我們專案的基本步驟。 IronXL提供多種存取蜂窩數據的方式,使其能夠靈活應對不同的場景。

為此,我們可以使用單元尋址系統來指定我們需要匯入哪些單元資料。 它傳回Excel檔案中特定單元格位址的值:

var cellValue = ws["Cell Address"];
var cellValue = ws["Cell Address"];
$vbLabelText   $csharpLabel

使用行索引和列索引匯入數據

我們也可以使用行索引和列索引從 Excel 檔案匯入儲存格資料。 這行程式碼傳回指定行和列索引的值。 這種方法在以程式設計方式遍歷資料時尤其有用:

var cellValueByIndex = ws.Rows[RowIndex].Columns[ColumnIndex];
var cellValueByIndex = ws.Rows[RowIndex].Columns[ColumnIndex];
$vbLabelText   $csharpLabel

將導入的值儲存在變數中

若要將匯入的儲存格值指派給變量,請使用下列程式碼。 ToString() 方法可確保與字串變數相容,但您也可以根據需要將其轉換為其他類型:

// Import Data by Cell Address
// by cell addressing
string val = ws["Cell Address"].ToString();

// by row and column indexing
string valWithIndexing = ws.Rows[RowIndex].Columns[ColumnIndex].Value.ToString();

// for numeric values
decimal numericValue = ws["B2"].DecimalValue;

// for date values
DateTime dateValue = ws["C2"].DateTimeValue;
// Import Data by Cell Address
// by cell addressing
string val = ws["Cell Address"].ToString();

// by row and column indexing
string valWithIndexing = ws.Rows[RowIndex].Columns[ColumnIndex].Value.ToString();

// for numeric values
decimal numericValue = ws["B2"].DecimalValue;

// for date values
DateTime dateValue = ws["C2"].DateTimeValue;
$vbLabelText   $csharpLabel

在上述範例中,行索引和列索引均從 0 開始。有關更進階的儲存格操作,請參閱我們關於清除儲存格複製儲存格的指南。


從特定範圍匯入數據

範圍函數語法

To import data in a specific range from an Excel WorkBook, use the range function. 透過描述起始和結束儲存格位址來定義範圍。 此操作傳回指定範圍內的所有儲存格值。 有關全面的射程選擇技巧,請參閱我們的射程選擇指南。

var rangeData = ws["Starting Cell Address:Ending Cell Address"];
var rangeData = ws["Starting Cell Address:Ending Cell Address"];
$vbLabelText   $csharpLabel

完整範圍導入範例

有關在 Excel 文件中處理範圍的更多信息,以及如何使用不同的方法提取數據。 以下範例示範如何匯入單一儲存格值和儲存格區域:

:path=/static-assets/excel/content-code-examples/how-to/csharp-import-excel-import.cs
using IronXL;
using System;

// Import Excel WorkBook
WorkBook wb = WorkBook.Load("sample.xlsx");

// Specify WorkSheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");

// Import data of specific cell
string val = ws["A4"].Value.ToString();
Console.WriteLine("Import Value of A4 Cell address: {0}", val);

Console.WriteLine("import Values in Range From B3 To B9 :\n");

// Import data in specific range
foreach (var item in ws["B3:B9"])
{
    Console.WriteLine(item.Value.ToString());
}

Console.ReadKey();
$vbLabelText   $csharpLabel

上述程式碼顯示以下輸出:

控制台輸出顯示 Excel 單元格區域 B3:B9 的導入結果,其中包含中端市場價值和國家/地區列表,包括德國、墨西哥和加拿大。

With the values of Excel file sample.xlsx as:

包含銷售資料的 Excel 電子表格,其中藍色高亮顯示的儲存格用於在匯入過程中選取範圍

使用聚合函數導入Excel數據

可用的聚合函數

對 Excel 檔案套用聚合函數,並匯入這些函數產生的資料。 IronXL提供內建的數學函數,讓資料分析變得簡單易行。 以下是一些不同函數及其用法的範例:

  • Sum()

    // To find the sum of a specific cell range
    var sum = ws["Starting Cell Address:Ending Cell Address"].Sum();
    // To find the sum of a specific cell range
    var sum = ws["Starting Cell Address:Ending Cell Address"].Sum();
    $vbLabelText   $csharpLabel
  • Average()

    // To find the average of a specific cell range
    var average = ws["Starting Cell Address:Ending Cell Address"].Avg();
    // To find the average of a specific cell range
    var average = ws["Starting Cell Address:Ending Cell Address"].Avg();
    $vbLabelText   $csharpLabel
  • Min()

    // To find the minimum in a specific cell range
    var minimum = ws["Starting Cell Address:Ending Cell Address"].Min();
    // To find the minimum in a specific cell range
    var minimum = ws["Starting Cell Address:Ending Cell Address"].Min();
    $vbLabelText   $csharpLabel
  • Max()

    // To find the maximum in a specific cell range
    var maximum = ws["Starting Cell Address:Ending Cell Address"].Max();
    // To find the maximum in a specific cell range
    var maximum = ws["Starting Cell Address:Ending Cell Address"].Max();
    $vbLabelText   $csharpLabel

共同使用多個聚合函數

閱讀更多關於在 Excel for C# 中使用聚合函數的內容,並了解更多關於使用不同方法提取資料的內容。 這些功能對於產生匯總統計資料或驗證匯入的資料特別有用。

以下範例示範如何套用這些函數匯入 Excel 檔案資料:

:path=/static-assets/excel/content-code-examples/how-to/csharp-import-excel-math-functions.cs
using IronXL;
using System;

// Import Excel file
WorkBook wb = WorkBook.Load("sample.xlsx");

// Specify WorkSheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");

// Import Excel file data by applying aggregate functions
decimal sum = ws["D2:D9"].Sum();
decimal avg = ws["D2:D9"].Avg();
decimal min = ws["D2:D9"].Min();
decimal max = ws["D2:D9"].Max();

Console.WriteLine("Sum From D2 To D9: {0}", sum);
Console.WriteLine("Avg From D2 To D9: {0}", avg);
Console.WriteLine("Min From D2 To D9: {0}", min);
Console.WriteLine("Max From D2 To D9: {0}", max);

Console.ReadKey();
$vbLabelText   $csharpLabel

上述程式碼輸出如下:

控制台輸出顯示 Excel 聚合函數:D2 到 D9 儲存格區域的總和為 452,平均值為 56.5,最小值為 5,最大值為 350。

我們的檔案 sample.xlsx 包含以下值:

包含銷售資料的Excel電子表格,突出顯示了

匯入完整的Excel檔案數據

ToDataSet 方法

要將完整的 Excel 檔案資料匯入 C# 項目,首先需要將已載入的工作簿解析為資料集。 這樣,完整的 Excel 資料就會匯入到資料集中,Excel 檔案中的工作表就會變成該資料集中的資料表。 這種方法對於資料庫操作或使用資料綁定控制項時尤其有用。 了解更多關於匯入和匯出為資料集的資訊。

// Import WorkBook into DataSet
DataSet ds = wb.ToDataSet();
// Import WorkBook into DataSet
DataSet ds = wb.ToDataSet();
$vbLabelText   $csharpLabel

此操作會將我們指定的 WorkSheet 匯入到 DataSet 中,以便根據要求使用。 當同時處理多個工作表或將 Excel 資料與.NET作業整合時,此方法尤其有效。

處理列標題

通常,Excel 檔案的第一行用作列名。 在這種情況下,將第一行設定為資料表列名。 如下設定IronXL函數 ToDataSet() 的布林參數:

// Import WorkBook into DataSet with first row as ColumnNames
DataSet ds = wb.ToDataSet(true);
// Import WorkBook into DataSet with first row as ColumnNames
DataSet ds = wb.ToDataSet(true);
$vbLabelText   $csharpLabel

這樣就形成了 Excel 文件資料表的第一行列名,這對於在處理結構化 Excel 資料時保持資料結構完整性至關重要。

完整資料集導入範例

查看將 Excel 資料匯入資料集 (DataSet) 並使用 Excel 工作表的第一行作為資料表 (DataTable) 列名的完整範例:

:path=/static-assets/excel/content-code-examples/how-to/csharp-import-excel-dataset.cs
using IronXL;
using System;
using System.Data;

WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");

// Import Excel data into a DataSet
DataSet ds = wb.ToDataSet(true);

Console.WriteLine("Excel file data imported to dataset successfully.");
Console.ReadKey();
$vbLabelText   $csharpLabel

使用 Excel 資料集和資料表函數可能很複雜,但我們提供了更多範例,說明如何將檔案資料整合到您的 C# 專案中。 對於更進階的場景,請參考我們透過 DataTable 將 Excel 轉換為 SQL 以及從 SQL 資料庫載入 Excel 的指南。


圖書館快速訪問

### 查閱IronXL參考資料

在我們的IronXL完整文件 API 參考中,以了解更多關於透過儲存格、區域、資料集和資料表提取 Excel 資料的資訊。

查閱IronXL參考資料
Documentation related to 圖書館快速訪問

常見問題解答

不使用 Microsoft Office,如何在 C# 中匯入 Excel 檔案?

您可以使用 IronXl.Excel 在 C# 中匯入 Excel 檔案,它不需要 Microsoft Office 或 Interop 依賴。只需使用 WorkBook.Load() 方法,並輸入您的檔案路徑,例如WorkBook wb = WorkBook.Load("path/to/data.xlsx").此方法適用於 XLSX、XLS、CSV、TSV 及其他格式。

使用此 C# 函式庫可以匯入哪些 Excel 檔案格式?

IronXl.Excel 支援匯入各種 Excel 格式,包括 XLSX、XLS、CSV、TSV 以及其他常見的試算表格式。相同的 WorkBook.Load() 方法可自動處理所有這些格式。

是否可以在伺服器或雲端環境中匯入 Excel 資料?

是的,IronXL 是伺服器環境和雲端部署的理想選擇,因為它不需要 Microsoft Office 或 Interop 依賴。這讓它成為 Web 應用程式、Azure 功能和其他伺服器端方案的完美選擇。

匯入 Excel 資料後,如何快速開始使用?

使用 IronXl.Excel 的免超時 API,您只需一行代碼,即可在數秒內載入任何支援的 Excel 表單。使用 WorkBook.Load() 之後,您可以立即開始與儲存格、範圍或工作表互動。

我可以從 Excel 檔案匯入特定的儲存格範圍嗎?

是的,IronXL 允許您在載入工作簿後從特定的儲存格範圍匯入資料。您可以使用提供的直觀 API 存取個別儲存格、範圍或整個工作表。

如何安裝 C# 的 Excel 匯入函式庫?

您可以透過 NuGet Package Manager 或直接下載 DLL 來安裝 IronXL。該函式庫可免費開發,並提供全面的入門說明文件。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php
Line: 12
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 489
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/ready_to_started_202509.php
Line: 19
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 489
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

準備好開始了嗎?
Nuget 下載 1,890,100 | 版本: 2026.3 剛剛發布

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php
Line: 17
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 71
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

A PHP Error was encountered

Severity: Notice

Message: Undefined index: IronXl.Excel

Filename: helpers/counter_helper.php

Line Number: 85

Backtrace:

File: /var/www/ironpdf.com/application/helpers/counter_helper.php
Line: 85
Function: _error_handler

File: /var/www/ironpdf.com/application/views/main/sections/still_scrolling_202512.php
Line: 24
Function: getTotalDonwloadNumber

File: /var/www/ironpdf.com/application/views/products/sections/three_column_docs_page_structure.php
Line: 71
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/views/products/how-to/index.php
Line: 2
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 88
Function: view

File: /var/www/ironpdf.com/application/libraries/Render.php
Line: 552
Function: view

File: /var/www/ironpdf.com/application/controllers/Products/Howto.php
Line: 31
Function: render_products_view

File: /var/www/ironpdf.com/index.php
Line: 292
Function: require_once

Still Scrolling Icon

還在捲動嗎?

想要快速證明? PM > Install-Package IronXl.Excel
執行範例 觀看您的資料變成試算表。