IronXL 操作指南 C Sharp 读取 XLSX 文件 C## 阅读 XLSX 文件。 Curtis Chau 已更新:2026年1月10日 下载 IronXL NuGet 下载 DLL 下载 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 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 创建 PDF 文件: 使用 NuGet 包管理器安装 IronXL PM > Install-Package IronXL.Excel 复制并运行这段代码。 IronXL.WorkBook workbook = IronXL.WorkBook.Load("your-file.xlsx"); 部署到您的生产环境中进行测试 立即开始在您的项目中使用 IronXL,免费试用! 免费试用30天 ## 读取 .XLSX 文件(C#) 为您的项目选择 IronXL 加载 WorkBook 从 WorkSheet 中访问数据 应用求和、最小值和最大值等函数 将 WorkSheet 作为 DataTable、DataSet 等读取 如何为我的项目获取 IronXL? 在您的项目中使用 IronXL,可以以简单的方式在 C# 中处理 Excel 文件格式。 你可以通过直接下载安装 IronXL ,或者也可以使用NuGet Install for Visual Studio 。 该软件可免费用于开发。 Install-Package IronXL.Excel 在深入阅读 XLSX 文件之前,请浏览 全面的 IronXL 文档,了解所有可用功能。 IronXL.Excel 支持 .xls 和 .xlsx 两种格式,因此可通用于传统和现代 Excel 文件。 如何使用教程 如何加载工作簿? WorkBook 是 IronXL 的类,其对象提供了对 Excel 文件及其所有功能的完全访问。 例如,要访问 Excel 文件,请使用以下代码: :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-load-workbook.cs using IronXL; // Load the workbook WorkBook workBook = WorkBook.Load("sample.xlsx"); // Excel file path Imports IronXL ' Load the workbook Dim workBook As WorkBook = WorkBook.Load("sample.xlsx") ' Excel file path $vbLabelText $csharpLabel 为什么要使用 WorkBook.Load() 方法? 在上面的代码中, WorkBook.Load()函数将sample.xlsx加载到workBook中。 通过访问 Excel 文件的特定工作表,可以在 workBook 上执行任何类型的功能。WorkBook.Load 方法可自动检测文件格式,无论是 XLS、XLSX、XLSM、XLTX 还是 CSV。有关更高级的加载场景,请查看 加载电子表格的详细指南。 如何访问特定工作表? 要访问 Excel 文件的特定 WorkSheet ,IronXL.Excel 提供了 WorkSheet 类。 它可以以多种不同的方式使用: 访问工作表的不同方法有哪些? :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-get-worksheet.cs using IronXL; // Access sheet by name WorkSheet workSheet = workBook.GetWorkSheet("Sheet1"); Imports IronXL ' Access sheet by name Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1") $vbLabelText $csharpLabel workBook 是在上述部分中声明的 WorkBook 。 或者 :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-worksheet-index.cs using IronXL; // Access sheet by index WorkSheet workSheet = workBook.WorkSheets[0]; Imports IronXL ' Access sheet by index Dim workSheet As WorkSheet = workBook.WorkSheets(0) $vbLabelText $csharpLabel 或者 :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-default-worksheet.cs using IronXL; // Access the default worksheet WorkSheet workSheet = workBook.DefaultWorkSheet; Imports IronXL ' Access the default worksheet Dim workSheet As WorkSheet = workBook.DefaultWorkSheet $vbLabelText $csharpLabel 或者 :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-first-worksheet.cs using IronXL; using System.Linq; // Access the first worksheet WorkSheet workSheet = workBook.WorkSheets.First(); Imports IronXL Imports System.Linq ' Access the first worksheet Dim workSheet As WorkSheet = workBook.WorkSheets.First() $vbLabelText $csharpLabel 或者 :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-first-or-default-worksheet.cs using IronXL; using System.Linq; // Access the first or default worksheet WorkSheet workSheet = workBook.WorkSheets.FirstOrDefault(); Imports IronXL Imports System.Linq ' Access the first or default worksheet Dim workSheet As WorkSheet = workBook.WorkSheets.FirstOrDefault() $vbLabelText $csharpLabel 何时应使用每种工作表访问方法? 每种方法都有其理想的使用案例: GetWorkSheet("name"):当您知道准确的工作表名称时 WorkSheets[index]:用于以编程方式遍历工作表 默认工作表:处理单页文件时的快速访问 First()或FirstOrDefault():工作表名称可能更改时的安全选项 获取 ExcelSheet workSheet后,您可以从中获取任何类型的数据,并对其执行所有 Excel 功能。 有关更复杂的工作表操作,请参阅用 C# 打开 Excel 工作表指南。 如何从工作表中访问数据? 可以通过以下步骤从 Excel workSheet中访问数据: 我可以从单元格中读取哪些数据类型? :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-get-data.cs using IronXL; // Accessing data as a string string dataString = workSheet["A1"].ToString(); // Accessing data as an integer int dataInt = workSheet["B1"].Int32Value; Imports IronXL ' Accessing data as a string Dim dataString As String = workSheet("A1").ToString() ' Accessing data as an integer Dim dataInt As Integer = workSheet("B1").Int32Value $vbLabelText $csharpLabel IronXL 为不同的数据类型提供了各种值访问器: StringValue:用于文本数据 Int32Value:用于整数 DoubleValue:用于小数 DateTimeValue:用于日期 BoolValue:用于真/假值 如何同时阅读多个单元格? 您还可以从特定列的多个单元格中获取数据: foreach (var cell in workSheet["A2:A10"]) { Console.WriteLine("Value is: {0}", cell.Text); } foreach (var cell in workSheet["A2:A10"]) { Console.WriteLine("Value is: {0}", cell.Text); } For Each cell In workSheet("A2:A10") Console.WriteLine("Value is: {0}", cell.Text) Next cell $vbLabelText $csharpLabel 这将显示单元格 A2 至 A10 中的值。 有关更多高级范围选择技术,请访问 选择范围教程。 完整的实施是什么样的? 此处提供了上述具体内容的完整代码示例: :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-log-data.cs 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); } Imports IronXL Imports System ' Load an Excel file Dim workBook As WorkBook = WorkBook.Load("sample.xlsx") Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1") ' Specify the range For Each cell In workSheet("B2:B10") Console.WriteLine("Value is: {0}", cell.Text) Next $vbLabelText $csharpLabel 结果显示如下: 使用 Excel 文件 Sample.xlsx: 这些方法展示了在项目中使用 Excel 文件数据是多么轻松自如。 有关不使用 Interop 阅读 Excel 文件的实用示例,请浏览 read Excel 示例。 如何对数据执行函数? 使用以下代码,通过应用 Sum、Min 或 Max 等聚合函数,访问 Excel WorkSheet 中的过滤数据: 哪些聚合函数可用? :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-aggregate-function.cs 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 Imports IronXL ' Apply aggregate functions Dim sum As Decimal = workSheet("G2:G10").Sum() ' Sum of cells from G2 to G10 Dim min As Decimal = workSheet("G2:G10").Min() ' Minimum value in cells from G2 to G10 Dim max As Decimal = workSheet("G2:G10").Max() ' Maximum value in cells from G2 to G10 $vbLabelText $csharpLabel IronXL 支持众多数学函数,包括 Average():计算平均值 Count():计算非空单元格 CountIf():对符合标准的单元格进行计数 Median():查找中间值 StdDev():计算标准偏差 如何同时实现多个功能? 如需了解更多详情,请查看我们的深入教程《如何编写 C# Excel 文件》,其中包含聚合函数的具体内容。 您还可以浏览 IronXL.Excel 中提供的数学函数的完整列表。 :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-min-max.cs 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); Imports IronXL Imports System ' Load the Excel workbook Dim workBook As WorkBook = WorkBook.Load("sample.xlsx") ' Get the specified WorkSheet Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1") ' Calculate sum, minimum, and maximum for a range of cells Dim sum As Decimal = workSheet("G2:G10").Sum() Dim min As Decimal = workSheet("G2:G10").Min() Dim max As Decimal = workSheet("G2:G10").Max() ' Output results Console.WriteLine("Sum is: {0}", sum) Console.WriteLine("Min is: {0}", min) Console.WriteLine("Max is: {0}", max) $vbLabelText $csharpLabel 这段代码会显示以下输出: 这就是 Excel 文件 Sample.xlsx 的外观: 如何将 Excel 工作表读取为数据表? 使用 IronXL.Excel,可以轻松地将 Excel WorkSheet 作为 DataTable 使用。 当您需要将 Excel 数据与现有数据处理管道集成或将数据绑定到 UI 控件时,该功能尤其有用。 基本转换方法是什么? :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-datatable.cs using IronXL; using System.Data; // Convert worksheet to DataTable DataTable dt = workSheet.ToDataTable(); Imports IronXL Imports System.Data ' Convert worksheet to DataTable Dim dt As DataTable = workSheet.ToDataTable() $vbLabelText $csharpLabel 如何将第一行用作列标题? 将 ExcelSheet 的第一行用作数据表 ColumnName: :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-datatable-header.cs using IronXL; using System.Data; // Convert worksheet to DataTable with the first row as column names DataTable dt = workSheet.ToDataTable(true); Imports IronXL Imports System.Data ' Convert worksheet to DataTable with the first row as column names Dim dt As DataTable = workSheet.ToDataTable(True) $vbLabelText $csharpLabel ToDataTable() 的布尔参数会将第一行设置为 DataTable 的列名。 默认值为False 。 这在处理包含标题的结构化数据时尤其有用。 如何遍历 DataTable? :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-print-datatable.cs 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(); } Imports IronXL Imports System Imports System.Data ' Load the Excel workbook Dim workBook As WorkBook = WorkBook.Load("sample.xlsx") ' Get the specified WorkSheet Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1") ' Convert WorkSheet to DataTable Dim dt As DataTable = workSheet.ToDataTable(True) ' Use first row as column names ' Iterate through rows and columns and display data For Each row As DataRow In dt.Rows ' Access rows For i As Integer = 0 To dt.Columns.Count - 1 ' Access columns of corresponding row Console.Write(row(i) & " ") Next Console.WriteLine() Next $vbLabelText $csharpLabel 使用上述代码,可以根据需要访问和使用 WorkSheet 的每个单元格值。 有关 DataTable 的更多高级操作,请参阅导入和导出为 DataSet 指南。 如何将 Excel 文件读取为数据集? IronXL.Excel 提供了一个将完整 Excel 文件(WorkBook)用作 DataSet 的简单函数。 使用 ToDataSet 方法将整个工作簿转换为 DataSet。 在这个例子中,我们将看到如何将 Excel 文件用作数据集。 如何将工作簿转换为 DataSet? :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-file-excel-to-dataset.cs 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); } Imports IronXL Imports System Imports System.Data ' Load the Excel workbook Dim workBook As WorkBook = WorkBook.Load("sample.xlsx") ' Convert the WorkBook to a DataSet Dim ds As DataSet = workBook.ToDataSet() ' Iterate through tables in the DataSet and display table names For Each dt As DataTable In ds.Tables Console.WriteLine(dt.TableName) Next $vbLabelText $csharpLabel 上述代码的输出结果如下: Excel 文件 Sample.xlsx 看起来是这样的: 如何在所有工作表中访问每个单元格的值? 在上例中,我们可以轻松地将 Excel 文件解析为 DataSet,并将 Excel 文件中的每个 WorkSheet 作为 DataTable 使用。 深入了解如何将 Excel 作为数据集进行解析,这里提供了代码示例。 让我们再来看一个例子,了解如何访问所有 Excel 工作表中每个单元格的值。 在这里,我们可以访问 Excel 文件中每个 WorkSheet 的每个单元格值。 :path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-all-excel-sheets.cs // 该代码片段不可用! ' 该代码片段不可用! $vbLabelText $csharpLabel 使用上述示例,可以方便地访问 Excel 文件中每个 WorkSheet 的每个单元格值。在处理数据分布在不同标签页的多工作表工作簿时,这种方法尤其有用。 有关如何在不进行互操作的情况下读取 Excel 文件的更多信息,请查看此处的代码。 API 参考文档在 IronXL API 参考中提供了有关所有可用方法和属性的全面详细信息。 教程快速访问 ### IronXL API 参考 请参阅文档,了解有关 IronXL 的功能、类、方法字段、命名空间和枚举的更多信息。 IronXL API 参考 常见问题解答 如何用 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,846,091 | 版本: 2026.2 刚刚发布 免费 NuGet 下载 总下载量:1,846,091 查看许可证