跳至页脚内容
使用 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 文件的分步说明。

常见问题解答

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

您可以使用IronXL在C#中读取Excel文件,而无需安装Microsoft Excel。IronXL提供了一个简单的API与Excel文件交互,支持多种格式,如XLS、XLSX、CSV和XML。

使用IronXL进行Excel文件操作在C#中有什么优势?

IronXL提供许多优势,包括能够以多种格式读取和写入Excel文件,支持密码保护文件,创建图表,处理公式和单元格样式,所有这些都无需在您的机器上安装Microsoft Excel。

如何在 C# 项目中安装 IronXL?

通过在Visual Studio中使用NuGet包管理器控制台输入命令Install-Package IronXL.Excel或通过NuGet包管理器UI在您的C#项目中安装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文件操作中表现得非常灵活。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。