C## 阅读 XLSX 文件
要在C#中读取XLSX文件,使用IronXL的DataSet格式。
快速开始:加载工作簿并轻松访问工作表
使用IronXL,您可以在一行代码中使用WorkBook.Load方法加载XLSX文件。然后立即访问其第一个或命名的工作表并开始读取单元格值。
读取 .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
为什么使用WorkBook.Load()方法?
在上述代码中,WorkBook。 通过访问Excel文件的特定Load()方法自动检测文件格式,无论是XLS、XLSX、XLSM、XLTX还是CSV。如需更高级的加载场景,请查看加载电子表格的详细指南。
如何访问特定工作表?
要访问Excel文件的特定WorkBook类。 它可以以多种不同的方式使用:
访问工作表的不同方法有哪些?
: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")
WorkSheet。
或者
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)
或者
WorkBook.Load()
或者
: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
或者
sample.xlsx
或者
: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()
或者
workBook
或者
: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()
或者
workBook
或者
WorkBook.Load
或者
WorkSheet
或者
WorkSheet
或者
workBook
或者
WorkBook
何时应使用每种工作表访问方法?
每种方法都有其理想的使用案例:
GetWorkSheet("name"):当您知道确切的工作表名称时WorkSheets[index]:用于以编程方式遍历工作表DefaultWorkSheet:处理单个工作表文件时的快速访问FirstOrDefault():当工作表名称可能更改时的安全选项
在获得ExcelSheet workSheet之后,您可以从中获取任何类型的数据,并在其上执行所有Excel功能。 有关更复杂的工作表操作,请参阅用 C# 打开 Excel 工作表指南。
如何从工作表中访问数据?
可以通过该过程从ExcelSheet 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
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
这会显示从单元格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
结果显示如下:
使用Excel文件Sample.xlsx:
这些方法展示了在项目中使用 Excel 文件数据是多么轻松自如。 有关不使用 Interop 阅读 Excel 文件的实用示例,请浏览 read Excel 示例。
如何对数据执行函数?
通过应用如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
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)
这段代码会显示以下输出:
这就是Excel文件Sample.xlsx的样子:
如何将 Excel 工作表读取为数据表?
使用IronXL,可以轻松将Excel 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()
如何将第一行用作列标题?
要将DataTable 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)
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
使用上述代码,可以按需访问并使用WorkSheet的每个单元格值。 有关更高级的DataTable操作,请参阅导入和导出为DataSet的指南。
如何将 Excel 文件读取为数据集?
IronXL提供一个简单的函数,以便将完整的Excel文件(DataSet。 使用DataSet。
在此示例中,我们将了解如何将Excel文件用作DataSet。
如何将工作簿转换为 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
上述代码的输出结果如下:
并且Excel文件Sample.xlsx看起来如下:
(center content omitted for brevity)
如何在所有工作表中访问每个单元格的值?
在上面的例子中,我们可以轻松地将Excel文件解析为DataTable。 深入了解如何将 Excel 作为数据集进行解析,这里提供了代码示例。
让我们再看一个例子,看看如何访问所有ExcelSheets的每个单元格值。 在这里,我们可以访问Excel文件每个ExcelSheet的每个单元格值。
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-read-xlsx-all-excel-sheets.cs
// 该代码片段不可用!
' 该代码片段不可用!
使用上述示例,方便地访问Excel文件中每个ExcelSheet的每个单元格值。这种方法在处理多工作簿数据分布于不同选项卡时特别有用。
有关如何在不进行互操作的情况下读取 Excel 文件的更多信息,请查看此处的代码。 API 参考文档在 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# 应用程序中。






