C## 阅读 XLSX 文件

Curtis Chau
Curtis Chau
Updated: 2026年5月9日

要在C#中读取XLSX文件,使用IronXL的DataSet格式。

快速开始:加载工作簿并轻松访问工作表

使用IronXL,您可以使用WorkBook.Load方法在一行中加载XLSX文件。然后立即访问其第一个或命名工作表并开始读取单元格值。

  1. 1Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. 2复制并运行这段代码。

    IronXL.WorkBook workbook = IronXL.WorkBook.Load("your-file.xlsx");
  3. 3部署到您的生产环境中进行测试

    通过免费试用立即在您的项目中开始使用IronXL
    arrow pointer

读取 .XLSX 文件(C#)

  • 为您的项目选择 IronXL
  • 加载 WorkBook
  • 从 WorkSheet 中访问数据
  • 应用求和、最小值和最大值等函数
  • 将 WorkSheet 作为 DataTable、DataSet 等读取

如何为我的项目获取 IronXL?

在您的项目中使用 IronXL,可以以简单的方式在 C# 中处理 Excel 文件格式。 你可以通过直接下载安装 IronXL ,或者也可以使用NuGet Install for Visual Studio 。 该软件可免费用于开发。

PM > Install-Package IronXL.Excel

在深入阅读 XLSX 文件之前,请浏览 全面的 IronXL 文档,了解所有可用功能。 IronXL.Excel 支持 .xls 和 .xlsx 两种格式,因此可通用于传统和现代 Excel 文件。


如何使用教程

如何加载工作簿?

WorkBook是IronXL的类,其对象为Excel文件和所有功能提供完全访问。 例如,要访问 Excel 文件,请使用以下代码:

using IronXL;

// Load the workbook
WorkBook workBook = WorkBook.Load("sample.xlsx"); // Excel file path

为什么使用WorkBook.Load()方法?

在上面的代码中,WorkBook中。 可以通过访问Excel文件的特定Load()方法自动检测文件格式,无论是XLS、XLSX、XLSM、XLTX还是CSV。有关更高级的加载场景,请查看加载电子表格的详细指南。


如何访问特定工作表?

要访问Excel文件的特定WorkBook类。 它可以以多种不同的方式使用:

访问工作表的不同方法有哪些?

using IronXL;

// Access sheet by name
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

WorkSheet。

或者

WorkBook

或者

using IronXL;

// Access sheet by index
WorkSheet workSheet = workBook.WorkSheets[0];

或者

WorkBook.Load()

或者

using IronXL;

// Access the default worksheet
WorkSheet workSheet = workBook.DefaultWorkSheet;

或者

sample.xlsx

或者

using IronXL;
using System.Linq;

// Access the first worksheet
WorkSheet workSheet = workBook.WorkSheets.First();

或者

workBook

或者

using IronXL;
using System.Linq;

// Access the first or default worksheet
WorkSheet workSheet = workBook.WorkSheets.FirstOrDefault();

或者

workBook

或者

WorkBook.Load

或者

WorkSheet

或者

WorkSheet

或者

workBook

或者

WorkBook

何时应使用每种工作表访问方法?

每种方法都有其理想的使用案例:

  • GetWorkSheet("name"):当您知道确切的工作表名称时
  • WorkSheets[index]:用于以编程方式迭代各工作表
  • DefaultWorkSheet:在处理单工作表文件时快速访问
  • FirstOrDefault():当工作表名称可能更改时的安全选项

在获取ExcelSheet workSheet之后,您可以从中获取任何类型的数据并执行所有Excel功能。 有关更复杂的工作表操作,请参阅用 C# 打开 Excel 工作表指南。


如何从工作表中访问数据?

可以通过这个过程从ExcelSheet workSheet中访问数据:

我可以从单元格中读取哪些数据类型?

using IronXL;

// Accessing data as a string
string dataString = workSheet["A1"].ToString();

// Accessing data as an integer
int dataInt = workSheet["B1"].Int32Value;

IronXL 为不同的数据类型提供了各种值访问器:

  • StringValue:用于文本数据
  • Int32Value:用于整数
  • DoubleValue:用于小数
  • DateTimeValue:用于日期
  • BoolValue:用于真假值

如何同时阅读多个单元格?

您还可以从特定列的多个单元格中获取数据:

foreach (var cell in workSheet["A2:A10"])
{
    Console.WriteLine("Value is: {0}", cell.Text);
}

这将显示从单元格A10的值。 有关更多高级范围选择技术,请访问 选择范围教程。

完整的实施是什么样的?

此处提供了上述具体内容的完整代码示例:

using IronXL;
using System;

// Load an Excel file
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Specify the range
foreach (var cell in workSheet["B2:B10"])
{
    Console.WriteLine("Value is: {0}", cell.Text);
}

结果显示如下:

控制台输出显示提取的工作表数据,包括政府、私营、中型市场和渠道合作伙伴值

使用Excel文件Sample.xlsx:

包含业务数据的 Excel 电子表格,显示 16 行中的细分市场、国家、产品和折扣段列

这些方法展示了在项目中使用 Excel 文件数据是多么轻松自如。 有关不使用 Interop 阅读 Excel 文件的实用示例,请浏览 read Excel 示例。


如何对数据执行函数?

通过使用以下代码应用聚合函数如WorkSheet中访问过滤后的数据:

哪些聚合函数可用?

using IronXL;

// Apply aggregate functions
decimal sum = workSheet["G2:G10"].Sum(); // Sum of cells from G2 to G10
decimal min = workSheet["G2:G10"].Min(); // Minimum value in cells from G2 to G10
decimal max = workSheet["G2:G10"].Max(); // Maximum value in cells from G2 to G10

IronXL 支持众多数学函数,包括

  • Average():计算平均值
  • Count():计算非空单元格数量
  • CountIf():计算符合条件的单元格数量
  • Median():找到中间值
  • StdDev():计算标准偏差

如何同时实现多个功能?

如需了解更多详情,请查看我们的深入教程《如何编写 C# Excel 文件》,其中包含聚合函数的具体内容。 您还可以浏览 IronXL.Excel 中提供的数学函数的完整列表。

using IronXL;
using System;

// Load the Excel workbook
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Get the specified WorkSheet
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Calculate sum, minimum, and maximum for a range of cells
decimal sum = workSheet["G2:G10"].Sum();
decimal min = workSheet["G2:G10"].Min();
decimal max = workSheet["G2:G10"].Max();

// Output results
Console.WriteLine("Sum is: {0}", sum);
Console.WriteLine("Min is: {0}", min);
Console.WriteLine("Max is: {0}", max);

这段代码会显示以下输出:

显示数据分析结果的终端:黑色背景上的总和=482,最小值=12,最大值=350

而这就是Excel文件Sample.xlsx的外观:

包含销售数据的 Excel 电子表格,显示多个行中的细分市场、国家、产品、销售单位和定价

如何将 Excel 工作表读取为数据表?

使用IronXL,轻松将ExcelDataTable进行处理。 当您需要将 Excel 数据与现有数据处理管道集成或将数据绑定到 UI 控件时,该功能尤其有用。

基本转换方法是什么?

using IronXL;
using System.Data;

// Convert worksheet to DataTable
DataTable dt = workSheet.ToDataTable();

如何将第一行用作列标题?

要将DataTable ColumnName:

using IronXL;
using System.Data;

// Convert worksheet to DataTable with the first row as column names
DataTable dt = workSheet.ToDataTable(true);

布尔参数DataTable的第一行作为列名。 默认情况下,其值为False。 这在处理包含标题的结构化数据时尤其有用。

如何遍历 DataTable?

using IronXL;
using System;
using System.Data;

// Load the Excel workbook
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Get the specified WorkSheet
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Convert WorkSheet to DataTable
DataTable dt = workSheet.ToDataTable(true); // Use first row as column names

// Iterate through rows and columns and display data
foreach (DataRow row in dt.Rows) // Access rows
{
    for (int i = 0; i < dt.Columns.Count; i++) // Access columns of corresponding row
    {
        Console.Write(row[i] + " ");
    }
    Console.WriteLine();
}

使用上述代码,WorkSheet的每个单元格值均可根据需要访问和使用。 有关更高级的DataTable操作,请参阅导入和导出为DataSet的指南。


如何将 Excel 文件读取为数据集?

IronXL提供简单的功能,可将整个Excel文件(DataSet。 使用DataSet。
在此示例中,我们将看到如何将Excel文件用作DataSet。

如何将工作簿转换为 DataSet?

using IronXL;
using System;
using System.Data;

// Load the Excel workbook
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Convert the WorkBook to a DataSet
DataSet ds = workBook.ToDataSet();

// Iterate through tables in the DataSet and display table names
foreach (DataTable dt in ds.Tables)
{
    Console.WriteLine(dt.TableName);
}

上述代码的输出结果如下:

损坏或不完整的截图,仅显示 Sheet1、Sheet2 和 Sheet3 标签

而Excel文件Sample.xlsx看起来像这样:

(center content omitted for brevity)

如何在所有工作表中访问每个单元格的值?

在上面的示例中,我们可以轻松地将Excel文件解析为DataTable。 深入了解如何将 Excel 作为数据集进行解析,这里提供了代码示例。

让我们再看看一个如何访问所有ExcelSheets的每个单元格值的例子。 在这里,我们可以访问Excel文件的每个ExcelSheet的每个单元格值。

using IronXL;
using System;

// Load the Excel workbook
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Iterate through every WorkSheet in the WorkBook
foreach (WorkSheet workSheet in workBook.WorkSheets)
{
    Console.WriteLine($"Worksheet: {workSheet.Name}");

    // Access each filled cell value on the current WorkSheet
    foreach (var cell in workSheet.FilledCells)
    {
        Console.WriteLine($"{cell.Address}: {cell.Text}");
    }
}

使用上述示例,方便访问Excel文件的每个ExcelSheet的每个单元格值。这种方法在处理多工作表工作簿时特别有用,其中数据分布在不同的选项卡中。

有关如何在不进行互操作的情况下读取 Excel 文件的更多信息,请查看此处的代码。 API 参考文档在 IronXL API 参考中提供了有关所有可用方法和属性的全面详细信息。


教程快速访问

IronXL API 参考

请参阅文档,了解有关 IronXL 的功能、类、方法字段、命名空间和枚举的更多信息。

IronXL API 参考

WorkSheet

WorkSheet

WorkSheet

常见问题解答

如何用 C# 阅读 XLSX 文件?

要在 C# 中读取 XLSX 文件,请使用 IronXL 的 WorkBook.Load 方法。只需使用 IronXL.WorkBook.Load("your-file.xlsx") 加载 Excel 文件,然后访问工作表以读取单元格数据、执行计算,并以编程方式转换为 DataTable 或 DataSet 格式。

加载 Excel 文件时支持哪些文件格式?

IronXL.Excel 支持多种 Excel 文件格式,包括 .xls、.xlsx、.xlsm、.xltx 和 .csv 文件。WorkBook.Load 方法可自动检测文件格式,使其既适用于传统 Excel 文件,也适用于现代 Excel 文件。

如何为我的 C# 项目安装 Excel 阅读库?

您可以通过直接下载或通过 Visual Studio 的 NuGet Install 安装 IronXL。该软件用于开发目的是免费的,它提供了一种在 C# 中处理 Excel 文件格式的简单方法。

访问特定工作表的不同方法是什么?

IronXL 提供了多种访问工作表的方法:您可以使用 workBook.GetWorkSheet("SheetName") 按名称访问,使用 workBook.WorkSheets[0] 按索引访问,或者使用 workBook.WorkSheets.First() 获取第一个工作表。

加载 Excel 数据后,能否对其进行计算?

是的,用 IronXL 加载 XLSX 文件后,您可以对数据应用各种函数,如 Sum、Min 和 Max。该库通过 WorkBook 对象提供对 Excel 文件功能的全面访问。

是否可以将 Excel 工作表数据转换为其他格式?

是的,IronXL 允许您读取 WorkSheet 并将其转换为各种格式,包括 DataTable、DataSet 等。这样就可以轻松地将 Excel 数据集成到您的 C# 应用程序中。

Can I convert an entire workbook to a DataSet with IronXL?

Yes, you can convert an entire workbook to a DataSet using the ToDataSet method, which allows you to work with each worksheet as a separate DataTable.

What is the recommended way to read multiple cells at once in IronXL?

You can read multiple cells by iterating over a specified range, for example, using foreach on workSheet["A2:A10"] to read each cell's value.

How do I install IronXL in my C# project?

You can install IronXL via direct download or through NuGet Package Manager in Visual Studio. The library is free for development purposes.

How can I display Excel sheet data results in the console using IronXL?

To display Excel sheet data in the console, load the workbook using WorkBook.Load, access the desired worksheet, and iterate through cells to output their values using Console.WriteLine.

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

阅读更多

准备开始了吗?

Nuget Downloads 2,362,812版本:2026.11刚刚发布