C## 阅读 XLSX 文件。

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

要在 C# 中读取 XLSX 文件,请使用 IronXL.Excel 的 WorkBook.Load 方法打开 Excel 文件并访问工作表,以便以编程方式读取单元格数据、执行计算以及转换为 DataTable 或 DataSet 格式。

快速入门:轻松加载工作簿并访问工作表

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

Nuget Icon立即开始使用 NuGet 创建 PDF 文件:

  1. 使用 NuGet 包管理器安装 IronXL

    PM > Install-Package IronXL.Excel

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

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

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

读取 .XLSX 文件(C#)

  • 为您的项目选择 IronXL
  • 加载 WorkBook
  • WorkSheet 中访问数据
  • 应用求和、最小值和最大值等函数
  • WorkSheet 作为 DataTable、DataSet 等读取
How To Work related to C## 阅读 XLSX 文件。

如何为我的项目获取 IronXL? 在您的项目中使用 IronXL,可以以简单的方式在 C# 中处理 Excel 文件格式。 你可以[通过直接下载安装 IronXL](/csharp/excel/packages/IronXL.zip) ,或者也可以使用[NuGet Install for Visual Studio](https://www.nuget.org/packages/IronXL.Excel) 。 该软件可免费用于开发。 ```shell :ProductInstall ``` 在深入阅读 XLSX 文件之前,请浏览 [全面的 IronXL 文档](https://ironsoftware.com/csharp/excel/docs/),了解所有可用功能。 IronXL.Excel 支持 .xls 和 .xlsx 两种格式,因此可通用于传统和现代 Excel 文件。

如何使用教程

如何加载工作簿? `WorkBook` 是 IronXL 的类,其对象提供了对 Excel 文件及其所有功能的完全访问。 例如,要访问 Excel 文件,请使用以下代码: ```csharp :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-load-workbook.cs ```

为什么要使用 WorkBook.Load() 方法? 在上面的代码中, `WorkBook.Load()`函数将`sample.xlsx`加载到`workBook`中。 通过访问 Excel 文件的特定工作表,可以在 `workBook` 上执行任何类型的功能。`WorkBook.Load` 方法可自动检测文件格式,无论是 XLS、XLSX、XLSM、XLTX 还是 CSV。有关更高级的加载场景,请查看 [ 加载电子表格](https://ironsoftware.com/csharp/excel/how-to/load-spreadsheet/)的详细指南。

如何访问特定工作表? 要访问 Excel 文件的特定 `WorkSheet` ,IronXL.Excel 提供了 `WorkSheet` 类。 它可以以多种不同的方式使用:

访问工作表的不同方法有哪些? ```csharp :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-get-worksheet.cs ``` `workBook` 是在上述部分中声明的 `WorkBook` 。 或者 ```csharp :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-worksheet-index.cs ``` 或者 ```csharp :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-default-worksheet.cs ``` 或者 ```csharp :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-first-worksheet.cs ``` 或者 ```csharp :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-first-or-default-worksheet.cs ```

何时应使用每种工作表访问方法? 每种方法都有其理想的使用案例: - **`GetWorkSheet("name")`**:当您知道准确的工作表名称时 - **`WorkSheets[index]`**:用于以编程方式遍历工作表 - **`默认工作表`**:处理单页文件时的快速访问 - **`First()`或`FirstOrDefault()`**:工作表名称可能更改时的安全选项 获取 ExcelSheet `workSheet`后,您可以从中获取任何类型的数据,并对其执行所有 Excel 功能。 有关更复杂的工作表操作,请参阅[用 C# 打开 Excel 工作表](https://ironsoftware.com/csharp/excel/how-to/c-sharp-open-excel-worksheet/)指南。

如何从工作表中访问数据? 可以通过以下步骤从 Excel `workSheet`中访问数据:

我可以从单元格中读取哪些数据类型? ```csharp :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-get-data.cs ``` IronXL 为不同的数据类型提供了各种值访问器: - **`StringValue`**:用于文本数据 - **`Int32Value`**:用于整数 - **`DoubleValue`**:用于小数 - **`DateTimeValue`**:用于日期 - **`BoolValue`**:用于真/假值

如何同时阅读多个单元格? 您还可以从特定列的多个单元格中获取数据: ```csharp foreach (var cell in workSheet["A2:A10"]) { Console.WriteLine("Value is: {0}", cell.Text); } ``` 这将显示单元格 `A2` 至 `A10` 中的值。 有关更多高级范围选择技术,请访问 [选择范围教程](https://ironsoftware.com/csharp/excel/how-to/select-range/)。

完整的实施是什么样的? 此处提供了上述具体内容的完整代码示例: ```csharp :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-log-data.cs ``` 结果显示如下:
控制台输出显示提取的工作表数据,包括政府、私营、中型市场和渠道合作伙伴值
使用 Excel 文件 `Sample.xlsx`:
包含业务数据的 Excel 电子表格,显示 16 行中的细分市场、国家、产品和折扣段列
这些方法展示了在项目中使用 Excel 文件数据是多么轻松自如。 有关不使用 Interop 阅读 Excel 文件的实用示例,请浏览 [read Excel 示例](https://ironsoftware.com/csharp/excel/examples/read-excel/)。

如何对数据执行函数? 使用以下代码,通过应用 Sum、Min 或 Max 等聚合函数,访问 Excel `WorkSheet` 中的过滤数据:

哪些聚合函数可用? ```csharp :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-aggregate-function.cs ``` IronXL 支持众多数学函数,包括 - **`Average()`**:计算平均值 - **`Count()`**:计算非空单元格 - **`CountIf()`**:对符合标准的单元格进行计数 - **`Median()`**:查找中间值 - **`StdDev()`**:计算标准偏差

如何同时实现多个功能? 如需了解更多详情,请查看我们的深入教程《如何[编写 C# Excel 文件](https://ironsoftware.com/csharp/excel/tutorials/csharp-open-write-excel-file/#advanced-operations-sum-avg-count-etc)》,其中包含聚合函数的具体内容。 您还可以浏览 IronXL.Excel 中提供的[数学函数的完整列表](https://ironsoftware.com/csharp/excel/how-to/math-functions/)。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-min-max.cs ``` 这段代码会显示以下输出:
显示数据分析结果的终端:黑色背景上的总和=482,最小值=12,最大值=350
这就是 Excel 文件 `Sample.xlsx` 的外观:
包含销售数据的 Excel 电子表格,显示多个行中的细分市场、国家、产品、销售单位和定价

如何将 Excel 工作表读取为数据表? 使用 IronXL.Excel,可以轻松地将 Excel `WorkSheet` 作为 DataTable 使用。 当您需要将 Excel 数据与现有数据处理管道集成或将数据绑定到 UI 控件时,该功能尤其有用。

基本转换方法是什么? ```csharp :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-datatable.cs ```

如何将第一行用作列标题? 将 ExcelSheet 的第一行用作数据表 ColumnName: ```csharp :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-datatable-header.cs ``` `ToDataTable()` 的布尔参数会将第一行设置为 DataTable 的列名。 默认值为`False` 。 这在处理包含标题的结构化数据时尤其有用。

如何遍历 DataTable? ```csharp :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-print-datatable.cs ``` 使用上述代码,可以根据需要访问和使用 `WorkSheet` 的每个单元格值。 有关 DataTable 的更多高级操作,请参阅[导入和导出为 DataSet](https://ironsoftware.com/csharp/excel/how-to/export-dataset-datatable/) 指南。

如何将 Excel 文件读取为数据集? IronXL.Excel 提供了一个将完整 Excel 文件(<代码>WorkBook)用作 DataSet 的简单函数。 使用 `ToDataSet` 方法将整个工作簿转换为 DataSet。 在这个例子中,我们将看到如何将 Excel 文件用作数据集。

如何将工作簿转换为 DataSet? ```csharp :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-excel-to-dataset.cs ``` 上述代码的输出结果如下:
损坏或不完整的截图,仅显示 Sheet1、Sheet2 和 Sheet3 标签
Excel 文件 `Sample.xlsx` 看起来是这样的:
Excel 电子表格与多表工作簿,显示不同细分市场和国家的业务数据

如何在所有工作表中访问每个单元格的值? 在上例中,我们可以轻松地将 Excel 文件解析为 DataSet,并将 Excel 文件中的每个 `WorkSheet` 作为 DataTable 使用。 深入了解如何[将 Excel 作为数据集进行解析](https://ironsoftware.com/csharp/excel/#excel-sql-dataset),这里提供了代码示例。 让我们再来看一个例子,了解如何访问所有 Excel 工作表中每个单元格的值。 在这里,我们可以访问 Excel 文件中每个 `WorkSheet` 的每个单元格值。 ```csharp :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-all-excel-sheets.cs ``` 使用上述示例,可以方便地访问 Excel 文件中每个 `WorkSheet` 的每个单元格值。在处理数据分布在不同标签页的多工作表工作簿时,这种方法尤其有用。 有关如何[在不进行互操作的情况下读取 Excel 文件](https://ironsoftware.com/csharp/excel/tutorials/how-to-read-excel-file-csharp/)的更多信息,请查看此处的代码。 API 参考文档在 [IronXL API 参考](https://ironsoftware.com/csharp/excel/object-reference/api/)中提供了有关所有可用方法和属性的全面详细信息。

教程快速访问

IronXL API 参考

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

IronXL API 参考
Documentation related to 教程快速访问

常见问题解答

如何用 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# 应用程序中。

Curtis Chau
技术作家

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

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

准备开始了吗?
Nuget 下载 1,765,830 | 版本: 2025.12 刚刚发布