跳過到頁腳內容
使用 IRONXL

如何在 C# 中讀取 Excel 文件

本文將討論如何使用IronXL (一個輕量級且快速的函式庫,也是最廣泛用於與 Excel 檔案互動的 C# 函式庫之一)在 C# 中讀取 Excel 資料。

1. IronXL

IronXL 是一個 C# 庫,它允許開發人員輕鬆讀取、寫入和操作 Excel 文件,而無需在電腦上安裝 Microsoft Excel。它是一個功能強大的工具,用於在 C# 中處理 Excel 資料或讀取 Excel 文件,並提供了一個簡單易用的 API 來進行 Excel 文件的讀寫操作。

1.1 IronXL 功能

IronXL 是一個 C# Excel 庫,它提供了一系列用於處理 Excel 資料的功能,包括:

載入、寫入和讀取 Excel 文件

IronXL 可以讀取、寫入和處理各種格式的 Excel 文件,包括 XLS、XLSX、CSV 和 XML。 它還支援讀取受密碼保護的 Excel 檔案和其他高級操作。

建立圖表

IronXL 提供對 Excel 圖表的支持,允許開發人員在 Excel 檔案中建立和操作圖表。

儲存和匯出

IronXL 支援以不同格式儲存和匯出 Excel 檔案。

支援多種格式

IronXL 支援多種檔案格式,例如 XLS、XLSX、CSV 和 XML。

使用公式

IronXL 提供對Excel 公式的支持,允許開發人員在 Excel 檔案中計算公式。

細胞造型等等

IronXL 提供對Excel 儲存格樣式的支持,使開發人員能夠專業地格式化 Excel 檔案。

2. 建立 C# 項目

本教學將使用 C# 程式語言和 Visual Studio 2019 建立一個專案。

立即啟動 Visual Studio。

  • 若要開始一個新項目,請點選"建立"。
  • 選擇 C# 控制台應用程式窗體範本後,按一下"下一步"按鈕。

如何在 C# 中讀取 Excel 文件,圖 1:在 Visual Studio 中建立 C# 控制台應用程式 在 Visual Studio 中建立 C# 控制台應用程式

  • 將出現一個新窗口,輸入項目名稱,然後點擊"下一步"。

如何在 C# 中讀取 Excel 文件,圖 2:為新的 C# 控制台應用程式專案選擇一個名稱 為新的 C# 控制台應用程式專案選擇一個名稱

  • 在下一個視窗中,選擇最適合您的專案的 C# .NET Framework。

圖 3:如何在 C# 中讀取 Excel 檔案:為了獲得最佳效果,請為您的 C# 控制台專案選擇最新版本的 .NET Framework。 為了獲得最佳效果,請為您的 C# 控制台專案選擇最新版本的 .NET Framework。

也可以使用現有的 C# 項目。 只需打開項目並添加庫即可。 以下部分將介紹如何安裝 Excel 庫 IronXL。

3. 安裝 IronXL Excel 庫

下載和安裝 IronXL 庫有兩種方法:

  1. NuGet 套件管理器控制台
  2. NuGet 套件管理器

3.1 NuGet 套件管理器控制台

  • 導覽至套件管理器控制台以管理 NuGet 套件。 它通常位於 Visual Studio 的底部。

如何在 C# 中讀取 Excel 文件,圖 4:透過"工具" -> "NuGet 套件管理器" -> "套件管理器控制台"存取 NuGet 套件管理器控制台

透過前往"工具" > "NuGet 套件管理員"來存取 NuGet 套件管理員控制台。** > 軟體包管理器控制台

  • 在控制台中,輸入以下命令並按 Enter 鍵。

    Install-Package IronXL.Excel

IronXL NuGet 套件將開始安裝,一兩分鐘後即可使用。

3.2. 使用 NuGet 套件管理器進行安裝

可以使用 NuGet 套件管理器 UI 直接安裝 IronXL 庫。 若要安裝 IronXL,請依照下列步驟操作:

  • 將滑鼠懸停在"工具"功能表列中的"NuGet 套件管理器"上。

如何在 C# 中讀取 Excel 文件,圖 5:透過"工具" -> "NuGet 套件管理器" ->"管理解決方案的套件"存取 NuGet 套件管理器。 透過依序選擇"工具" > "NuGet 套件管理器" >"管理解決方案的套件"**來存取 NuGet 套件管理員**…

  • 將再次出現下拉式清單。 將滑鼠懸停在 NuGet 套件管理器上,然後按一下"管理解決方案的 NuGet 套件"。

圖 6:如何在 C# 中讀取 Excel 檔案:從 NuGet 套件管理器子選單中,按一下"管理解決方案的 NuGet 套件"以存取 NuGet 套件管理器。 從 NuGet 套件管理器子選單中,按一下"管理解決方案的 NuGet 套件"以存取 NuGet 套件管理員。

  • 選擇IronXL.Excel程式包後,按一下"安裝"按鈕。 它會自動安裝庫。

4. 讀取 Excel 文件

IronXL 無需任何軟體即可透過程式讀取 Excel 表格。 只需建立一個 C# .NET 項目,只需幾行程式碼,即可在控制台中讀取 Excel 檔案。

4.1 讀取 XLSX 文件

使用 IronXL 在 C# 中讀取 XLSX 檔案非常容易。 以下的範例將討論如何使用 C# 輕鬆讀取 Microsoft Excel 工作簿。

這是一個 XLSX 檔案範例,其中包含以下範例中 A1 到 D5 範圍內的資料。

如何在 C# 中讀取 Excel 文件,圖 7:本範例中將使用的 Excel 文件 本範例中將使用的 Excel 文件

using IronXL;
using System;
using System.Linq;

// Load the workbook from a file
WorkBook workBook = WorkBook.Load("test.xlsx");

// Access the first worksheet in the workbook
WorkSheet workSheet = workBook.WorkSheets[0];

// Print the content of the worksheet to the console
Console.Write(workSheet);
using IronXL;
using System;
using System.Linq;

// Load the workbook from a file
WorkBook workBook = WorkBook.Load("test.xlsx");

// Access the first worksheet in the workbook
WorkSheet workSheet = workBook.WorkSheets[0];

// Print the content of the worksheet to the console
Console.Write(workSheet);
Imports IronXL
Imports System
Imports System.Linq

' Load the workbook from a file
Private workBook As WorkBook = WorkBook.Load("test.xlsx")

' Access the first worksheet in the workbook
Private workSheet As WorkSheet = workBook.WorkSheets(0)

' Print the content of the worksheet to the console
Console.Write(workSheet)
$vbLabelText   $csharpLabel

如何在 C# 中讀取 Excel 文件,圖 8:上述程式碼範例產生的輸出 上述程式碼範例產生的輸出

4.2. 讀取多個 Excel 文件

使用 IronXL,您可以同時讀取多個 Excel 工作簿。以下原始程式碼示範如何讀取多個 Excel 檔案。

using IronXL;
using System;
using System.Linq;

// Load the first workbook and access its first worksheet
WorkBook workBook = WorkBook.Load("test.xlsx");
WorkSheet workSheet = workBook.WorkSheets[0];
Console.WriteLine(workSheet);
Console.WriteLine();

// Load the second workbook (CSV format) and access its first worksheet
WorkBook workBook2 = WorkBook.Load("Example2.Sheet0.csv");
WorkSheet workSheet2 = workBook2.WorkSheets[0];
Console.WriteLine(workSheet2);
Console.WriteLine();
using IronXL;
using System;
using System.Linq;

// Load the first workbook and access its first worksheet
WorkBook workBook = WorkBook.Load("test.xlsx");
WorkSheet workSheet = workBook.WorkSheets[0];
Console.WriteLine(workSheet);
Console.WriteLine();

// Load the second workbook (CSV format) and access its first worksheet
WorkBook workBook2 = WorkBook.Load("Example2.Sheet0.csv");
WorkSheet workSheet2 = workBook2.WorkSheets[0];
Console.WriteLine(workSheet2);
Console.WriteLine();
Imports IronXL
Imports System
Imports System.Linq

' Load the first workbook and access its first worksheet
Private workBook As WorkBook = WorkBook.Load("test.xlsx")
Private workSheet As WorkSheet = workBook.WorkSheets(0)
Console.WriteLine(workSheet)
Console.WriteLine()

' Load the second workbook (CSV format) and access its first worksheet
Dim workBook2 As WorkBook = WorkBook.Load("Example2.Sheet0.csv")
Dim workSheet2 As WorkSheet = workBook2.WorkSheets(0)
Console.WriteLine(workSheet2)
Console.WriteLine()
$vbLabelText   $csharpLabel

如何在 C# 中讀取 Excel 文件,圖 9:輸出多個 Excel 文件的內容 輸出多個 Excel 文件的內容

4.3. 讀取單一 Excel 檔案中的多個工作表

IronXL 提供了另一個突破性功能,可在單一 C# .NET 程式中讀取多個工作表。 您可以使用此功能進行並排比較。 以下範例將讀取多個 Excel 工作表。

using IronXL;
using System;

// Load the workbook that contains multiple sheets
WorkBook workBook = WorkBook.Load("multiple.xlsx");

// Access the first worksheet
WorkSheet workSheet = workBook.WorkSheets[0];
Console.WriteLine(workSheet);
Console.WriteLine();

// Access the second worksheet
WorkSheet workSheet1 = workBook.WorkSheets[1];
Console.WriteLine(workSheet1);
Console.WriteLine();
using IronXL;
using System;

// Load the workbook that contains multiple sheets
WorkBook workBook = WorkBook.Load("multiple.xlsx");

// Access the first worksheet
WorkSheet workSheet = workBook.WorkSheets[0];
Console.WriteLine(workSheet);
Console.WriteLine();

// Access the second worksheet
WorkSheet workSheet1 = workBook.WorkSheets[1];
Console.WriteLine(workSheet1);
Console.WriteLine();
Imports IronXL
Imports System

' Load the workbook that contains multiple sheets
Private workBook As WorkBook = WorkBook.Load("multiple.xlsx")

' Access the first worksheet
Private workSheet As WorkSheet = workBook.WorkSheets(0)
Console.WriteLine(workSheet)
Console.WriteLine()

' Access the second worksheet
Dim workSheet1 As WorkSheet = workBook.WorkSheets(1)
Console.WriteLine(workSheet1)
Console.WriteLine()
$vbLabelText   $csharpLabel

如何在 C# 中讀取 Excel 文件,圖 10:將多個工作表的內容輸出到單一 Excel 文件中 將多個工作表的內容輸出到單一 Excel 檔案中

5.結論

對於程式設計新手來說,用 C# 讀取 Excel 檔案可能是一項艱鉅的任務。 但是,透過使用 IronXL 等函式庫,這個過程會變得更加簡單易行。

IronXL 是一個功能強大的 C# Excel 庫,它提供了一系列功能,可以同時處理多個 Excel 檔案或多個工作表。

有關如何使用 IronXL 讀取 Excel 文件的更多信息,請訪問"讀取 Excel 電子表格程式碼範例"

IronXL 可免費用於開發目的,但商業用途需要許可證。 請參閱C# 中讀取 Excel 檔案教學課程,以了解更多程式碼範例以及如何建立和讀取 Excel 檔案的逐步說明。

常見問題解答

不使用 Interop,如何在 C# 中讀取 Excel 檔案?

您可以使用 IronXL 在 C# 中讀取 Excel 檔案,而無需安裝 Microsoft Excel。IronXL 提供與 Excel 檔案互動的簡單 API,支援各種格式,如 XLS、XLSX、CSV 和 XML。

在 C# 中使用 IronXL.Excel 進行 Excel 檔案操作有哪些優點?

IronXL 具有眾多優點,包括能夠讀寫多種格式的 Excel 檔案、支援受密碼保護的檔案、建立圖表、處理公式和儲存格樣式,而所有這些都不需要在您的電腦上使用 Microsoft Excel。

如何在 C# 專案中安裝 IronXL?

透過 NuGet 套件管理員控制台使用 Install-Package IronXL.Excel 指令,或透過 Visual Studio 中的 NuGet 套件管理員使用者介面,在您的 C# 專案中安裝 IronXL。

我可以使用 IronXL 一次處理多個 Excel 檔案嗎?

是的,IronXL.Excel 允許您同時讀取和處理多個 Excel 檔案。每個檔案可使用 WorkBookWorkSheet 類別分別載入。

如何使用 C# 從 Excel 檔案讀取多個工作表?

使用 IronXL,您可以使用 WorkBook.Load 方法從單一 Excel 檔案讀取多個工作表,然後再使用 WorkSheet 類存取每個工作表。

IronXL 是免費開發嗎?

IronXL 對於開發用途是免費的,但對於生產或商業用途則需要商業授權。

如何使用 C# 中的 IronXL 讀取 XLSX 檔案?

要使用 IronXL 讀取 XLSX 檔案,請使用 WorkBook.Load("file.xlsx") 載入檔案,然後以 WorkSheet 類存取您需要的特定工作表,以讀取其資料。

IronXL 是否支援讀取含有公式的 Excel 檔案?

是的,IronXL.Excel 支援讀取包含公式的 Excel 檔案,允許您以程式化的方式與公式互動並進行操作。

使用 IronXL 可以處理哪些檔案格式?

IronXL.Excel 支援多種檔案格式,包括 XLS、XLSX、CSV 和 XML,使其能通用於不同的 Excel 檔案作業。

Jordi Bardia
軟體工程師
Jordi 在 Python、C# 和 C++ 上最得心應手,當他不在 Iron Software 展現技術時,便在做遊戲編程。在分担产品测测试,产品开发和研究的责任时,Jordi 为持续的产品改进增值。他说这种多样化的经验使他受到挑战并保持参与, 而这也是他与 Iron Software 中工作一大乐趣。Jordi 在佛罗里达州迈阿密长大,曾在佛罗里达大学学习计算机科学和统计学。