C# 使用 IronXL 读取Excel文件和打开工作表
使用 IronXL 的 GetWorkSheet() 方法在 C# 中读取Excel文件并打开工作表,支持任何 Excel 文件类型(.xls、.csv、.tsv、.xlsx),只需两行代码即可实现Excel数据提取或进行XLSX文件操作。
学习如何使用C#打开Excel工作表函数,以便处理Excel电子表格和包括.xlsx在内的各种文件类型。 打开 Excel 工作表、读取其数据并以编程方式对其进行操作是许多业务应用程序的基本功能。 IronXL.Excel 提供了一种简化的方法,无需 Excel Interop,提供了一种代码行数更少、响应时间更快的解决方案。
快速入门:在一行中加载工作簿并打开工作表
只需两个简单的方法调用,即可加载任何受支持的 Excel 文件并打开指定的工作表——无需复杂的设置或互操作。 IronXL 可以让您轻松地立即开始阅读或编辑数据。
最简工作流程(5 个步骤)
要打开和处理Excel工作表,请按照以下步骤操作:
- 安装用于打开Excel文件的C#库
- 使用`WorkBook.Load()`将Excel文件加载到`WorkBook`对象中
- 使用多种访问方法选择一个`WorkSheet`
- 通过所选的`WorkSheet`对象访问单元格数据
- 从行和列范围内获取数据
如何访问 Excel C# 库?
可以通过 DLL 访问 Excel C# 库,或者使用您喜欢的NuGet 管理器安装它。 访问 IronXL 库并将其添加到您的项目后,您就可以使用下面的所有函数在 C# 中打开 Excel 工作表。 有关详细的安装说明和系统要求,请查阅 IronXL 文档。
Install-Package IronXL.Excel
IronXL.Excel 支持在多个平台上部署,包括 Linux、macOS和 Docker容器,因此可用于各种开发环境。
如何加载 Excel 文件?
使用IronXL的WorkBook.Load()功能将Excel文件加载到项目中。 该函数需要一个字符串参数,即要打开的 Excel 文件的路径。 IronXL 支持加载各种电子表格格式,包括 XLS、XLSX、CSV、TSV 等。 有关加载不同文件类型的全面指导,请参阅 加载电子表格教程。
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-load-workbook.cs
using IronXL;
// Get a worksheet by its name
WorkSheet workSheet = workBook.GetWorkSheet("SheetName");
Imports IronXL
' Get a worksheet by its name
Dim workSheet As WorkSheet = workBook.GetWorkSheet("SheetName")
指定路径下的Excel文件将加载到workBook对象中。 现在,指定要打开的 Excel 工作表。 WorkBookLoadOptions参数允许您处理密码保护的工作簿并控制公式重新计算行为。
如何打开 Excel 工作表?
要打开Excel文件的特定WorkBook.GetWorkSheet()函数。 使用它可以根据工作表的名称打开工作表:
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-get-worksheet.cs
// Get a worksheet by its name
WorkSheet workSheet = workBook.GetWorkSheet("SheetName");
' Get a worksheet by its name
Dim workSheet As WorkSheet = workBook.GetWorkSheet("SheetName")
指定的workSheet中,并显示其所有数据。 还有其他几种方法可以打开Excel文件的特定WorkSheet:
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-multiple-open.cs
using IronXL;
using System.Linq;
// Open by sheet index
WorkSheet workSheet = workBook.WorkSheets[0];
// Open the default worksheet
WorkSheet workSheet2 = workBook.DefaultWorkSheet;
// Open the first sheet
WorkSheet workSheet3 = workBook.WorkSheets.First();
// Open the first or default sheet
WorkSheet workSheet4 = workBook.WorkSheets.FirstOrDefault();
Imports IronXL
Imports System.Linq
' Open by sheet index
Private workSheet As WorkSheet = workBook.WorkSheets(0)
' Open the default worksheet
Private workSheet2 As WorkSheet = workBook.DefaultWorkSheet
' Open the first sheet
Private workSheet3 As WorkSheet = workBook.WorkSheets.First()
' Open the first or default sheet
Private workSheet4 As WorkSheet = workBook.WorkSheets.FirstOrDefault()
有关添加、重命名或删除工作表等更高级的工作表管理任务,请参阅管理工作表指南。
现在,从已打开的Excel WorkSheet 获取数据。
如何从工作表中获取数据?
通过以下方法从已打开的Excel WorkSheet中获取数据:
- 获取Excel
WorkSheet的特定单元格值。 - 获取特定
Range中的数据。 - 从
WorkSheet获取所有数据。 4.将数据导出为其他格式。
让我们通过这些示例来研究如何以不同的方式获取数据:
如何获取特定单元格值?
从Excel WorkSheet中获取数据的第一种方法是获取特定的单元格值。 像这样访问它们:
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-cell-address.cs
// Access a specific cell value by its address
string val = workSheet["Cell Address"].ToString();
' Access a specific cell value by its address
Dim val As String = workSheet("Cell Address").ToString()
WorkSheet,如下示例所示。 还可以通过指定行索引和列索引来访问特定的单元格值。
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-cell-row.cs
// Access a cell value by row index and column index
string val = workSheet.Rows[RowIndex].Columns[ColumnIndex].Value.ToString();
' Access a cell value by row index and column index
Dim val As String = workSheet.Rows(RowIndex).Columns(ColumnIndex).Value.ToString()
以下是如何在 C# 项目中打开 Excel 文件并使用这两种方法获取特定单元格值的示例:
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-specified-cell.cs
using IronXL;
using System;
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Open WorkSheet
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");
// Get value By Cell Address
int intValue = workSheet["C6"].Int32Value;
// Get value by Row and Column Address
string strValue = workSheet.Rows[3].Columns[1].Value.ToString();
Console.WriteLine("Getting Value by Cell Address: {0}", intValue);
Console.WriteLine("Getting Value by Row and Column Indexes: {0}", strValue);
Imports IronXL
Imports System
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Open WorkSheet
Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")
' Get value By Cell Address
Private intValue As Integer = workSheet("C6").Int32Value
' Get value by Row and Column Address
Private strValue As String = workSheet.Rows(3).Columns(1).Value.ToString()
Console.WriteLine("Getting Value by Cell Address: {0}", intValue)
Console.WriteLine("Getting Value by Row and Column Indexes: {0}", strValue)
这段代码会显示以下输出:
Excel文件C6单元格中的值:
行和列索引从0开始。
打开Excel WorkSheets并获取特定单元格数据,您可以阅读更多关于如何在C#中读取Excel数据的内容。 有关阅读 Excel 文件的更多示例,请查看 如何阅读 Excel 文件教程。
如何从特定范围获取数据?
现在查看如何使用IronXL从已打开的Excel WorkSheet中获取特定范围内的数据。 选择范围功能为数据提取提供了强大的选项。
IronXL 提供了一种智能的方式来获取特定范围内的数据。 指定to的值:
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-select-range.cs
// Access data from a specific range
var rangeData = workSheet["From Cell Address : To Cell Address"];
' Access data from a specific range
Dim rangeData = workSheet("From Cell Address : To Cell Address")
下面是一个使用范围从已打开的Excel WorkSheet中获取数据的示例:
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-from-range.cs
using IronXL;
using System;
// Load 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 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
上述代码将从B10提取数据如下:
Excel文件B10:
如何从行中获取数据?
您还可以描述特定行的范围。 例如:
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-select-row-range.cs
var rowData = workSheet["A1:E1"];
Dim rowData = workSheet("A1:E1")
这将显示从E1的所有值。 阅读更多关于C# Excel 区域以及如何使用不同的行和列标识的内容。
如何从工作表中获取所有数据?
使用IronXL从打开的Excel WorkSheet中获取所有单元格数据非常简单。 对于这项任务,需要通过行和列索引访问每个单元格的值。 您还可以将整个工作表导出为 CSV、JSON 或 XML 等各种格式,以便于处理。 请参见以下示例,它遍历所有WorkSheet单元格并访问其值。
在此示例中,两个循环协作:一个遍历Excel WorkSheet的每一行,另一个遍历特定行的每一列。 这样,每个单元格的值都很容易获取。
:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-all.cs
using IronXL;
using System;
using System.Linq;
// Load Excel file
WorkBook workBook = WorkBook.Load("sample2.xlsx");
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");
// Access all rows of the open Excel WorkSheet
for (int i = 0; i < workSheet.Rows.Count(); i++)
{
// Access all columns of a specific row
for (int j = 0; j < workSheet.Columns.Count(); j++)
{
// Access each cell for the specified column
Console.WriteLine(workSheet.Rows[i].Columns[j].Value.ToString());
}
}
Imports IronXL
Imports System
Imports System.Linq
' Load Excel file
Private workBook As WorkBook = WorkBook.Load("sample2.xlsx")
Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")
' Access all rows of the open Excel WorkSheet
For i As Integer = 0 To workSheet.Rows.Count() - 1
' Access all columns of a specific row
For j As Integer = 0 To workSheet.Columns.Count() - 1
' Access each cell for the specified column
Console.WriteLine(workSheet.Rows(i).Columns(j).Value.ToString())
Next j
Next i
上述代码的输出将显示完整已打开Excel WorkSheet的每个单元格值。 为了处理更大的数据集,可以考虑使用IronXL的DataTable导出功能以获得更好的性能和内存管理。
常见问题解答
在没有安装 Microsoft Office 的情况下,如何用 C# 打开 Excel 工作表?
IronXL 使用 WorkBook.Load() 和 GetWorkSheet() 方法提供了一个简单的解决方案。只需两行代码,您就可以打开任何 Excel 文件(.xls、.xlsx、.csv、.tsv),而无需在系统中安装 Excel Interop 或 Microsoft Office。
打开 Excel 工作表时支持哪些文件格式?
IronXL 支持多种电子表格格式,包括 .xls(旧 Excel 格式)、.xlsx(现代 Excel 格式)、.csv(逗号分隔值)和 .tsv(制表符分隔值)。WorkBook.Load() 函数可自动无缝处理所有这些格式。
我可以在 Linux 或 macOS 上部署 Excel 工作表应用程序吗?
是的,IronXL 支持跨平台部署,包括 Linux、macOS 和 Docker 容器。这使其成为 Windows 以外各种开发环境的通用工具,消除了特定平台的限制。
如何为我的项目安装 Excel C# 库?
您可以通过 DLL 下载访问 IronXL,也可以通过 NuGet 软件包管理器进行安装。该库提供了全面的文档,包含详细的安装说明和系统要求,可帮助您快速上手。
加载 Excel 文件并访问特定工作表的基本代码是什么?
只需使用两行WorkBook wb = WorkBook.Load("sample.xlsx");WorkSheet ws = wb.GetWorkSheet("Sheet1"); 这将加载 Excel 文件并打开命名的工作表,以便立即进行数据访问和操作。





