跳過到頁腳內容
使用 IRONXL

如何在 C# 中讀取 Excel 文件

本文將討論如何在C#中使用IronXL閱讀Excel數據,這是一個輕量且快速的函式庫,是與Excel文件互動的最廣泛使用的C#函式庫之一。

1. IronXL

IronXL是一個C#函式庫,可讓開發者輕鬆讀取、寫入和操作Excel文件,不需要在機器上安裝Microsoft Excel。這是工作與Excel數據或在C#中讀取Excel文件的強大工具,並提供簡單易用的API來讀取和寫入Excel文件。

1.1. IronXL功能

IronXL是個C# Excel函式庫,提供了廣泛的功能或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。

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

現有的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包管理器安裝

IronXL函式庫可直接使用NuGet包管理器UI安裝。 要安裝IronXL,請完成以下步驟:

  • 懸停於工具菜單欄中的NuGet包管理器。

如何在C#中讀取Excel文件,圖5:通過導航到**工具** - **NuGet包管理器** - 為解決方案管理包訪問NuGet包管理器 通過導航到工具 > NuGet包管理器 > 為解決方案管理包...訪問NuGet包管理器

  • 出現下拉列表。 懸停於NuGet包管理器並點擊為解決方案管理NuGet包。

如何在C#中讀取Excel文件,圖6:從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文件。

常見問題解答

如何在C#中不使用Interop讀取Excel文件?

您可以使用 IronXL 在 C# 中讀取 Excel 文件,而不需要安裝 Microsoft Excel。IronXL 提供了一個簡單的 API 來與 Excel 文件進行交互,支持各種格式如 XLS、XLSX、CSV 和 XML。

使用 IronXL 進行 C# 中 Excel 文件操作的優勢是什麼?

IronXL 提供了眾多優勢,包括能夠以多種格式讀寫 Excel 文件、支持密碼保護的文件、圖表創建、公式處理和單元格樣式,而不需要您的機器上安裝 Microsoft Excel。

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

在您的 C# 項目中通過 NuGet 套件管理器控制台使用 Install-Package IronXL.Excel 命令,或通過 Visual Studio 的 NuGet 套件管理器 UI 安裝 IronXL。

我可以使用 IronXL 一次處理多個 Excel 文件嗎?

是的,IronXL 允許您同時讀取和處理多個 Excel 文件。可以使用 WorkBookWorkSheet 類分別加載每個文件。

如何在 C# 中從 Excel 文件中讀取多個工作表?

使用 IronXL,您可以使用 WorkBook.Load 方法從單個 Excel 文件中讀取多個工作表,然後使用 WorkSheet 類訪問每個工作表。

IronXL 對開發免費嗎?

IronXL 對開發用途免費,但對於生產或商業用途需要商業許可。

我如何使用 IronXL 在 C# 中讀取 XLSX 文件?

要使用 IronXL 讀取 XLSX 文件,請使用 WorkBook.Load("file.xlsx") 加載該文件,然後使用 WorkSheet 類訪問您需要的特定工作表以讀取其數據。

IronXL 支持讀取包含公式的 Excel 文件嗎?

是的,IronXL 支持讀取包含公式的 Excel 文件,允許您程序化地與公式進行交互和操作。

我可以使用 IronXL 處理哪些文件格式?

IronXL 支持多種文件格式,包括 XLS、XLSX、CSV 和 XML,這使其在不同的 Excel 文件操作中具有多功能性。

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