使用 IronXL 打开 C# Excel 工作表

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

学习如何使用 C# 打开 Excel 工作表函数来处理 Excel 电子表格,并打开所有文件类型,包括( .xls.csv.tsv.xlsx )。 打开 Excel 工作表、读取其中的数据以及以编程方式对其进行操作对于许多开发应用程序来说至关重要。 对于任何想要使用代码行数更少、响应速度更快的方法的开发人员来说,这里提供一个解决方案。

快速入门:一行加载工作簿并打开工作表

只需两个简单的方法调用,即可加载任何受支持的 Excel 文件并打开指定的工作表——无需复杂的设置或互操作。 使用 IronXL 入门非常简单,您可以立即开始读取或编辑数据。

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

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

    PM > Install-Package IronXL.Excel

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

    WorkBook wb = WorkBook.Load("sample.xlsx"); WorkSheet ws = wb.GetWorkSheet("Sheet1");
  3. 部署到您的生产环境中进行测试

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

最简工作流程(5 个步骤)

  • 安装 C# 库以打开 Excel 文件
  • 将 Excel 文件加载到WorkBook对象中
  • 探索从打开的 Excel 文件中选择工作表的多种方法
  • 通过选定的工作表对象访问单元格数据
  • 从行和列范围内获取数据
How To Work related to 使用 IronXL 打开 C# Excel 工作表

步骤1

1. 访问 Excel C# 库

可以通过 DLL 访问 Excel C# 库,或者使用您喜欢的NuGet 管理器安装它。 一旦您访问了 IronXL 库并将其添加到您的项目中,您就可以使用以下所有函数在 C# 中打开 Excel 工作表。

Install-Package IronXL.Excel

操作指南

2. 加载 Excel 文件

使用 IronXL 中的WorkBook.Load()函数将 Excel 文件加载到项目中。 该函数需要一个字符串参数,即要打开的 Excel 文件的路径。 请看这里:

: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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

指定路径下的 Excel 文件将加载到workBook对象中。 现在,我们需要指定要打开的 Excel 工作表。


3. 打开Excel工作表

IronXL 提供了WorkBook.GetWorkSheet()函数,用于打开 Excel 文件的特定WorkSheet 。 利用这个功能,我们可以轻松地按名称打开工作表:

: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")
$vbLabelText   $csharpLabel

指定的WorkSheet将以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()
$vbLabelText   $csharpLabel

现在,我们只需要从打开的 Excel WorkSheet中获取数据。


4. 从工作表中获取数据

我们可以通过以下方式从打开的 Excel WorkSheet中获取数据:

  1. 获取 Excel WorkSheet中特定单元格的值。
  2. 获取特定范围内的数据。
  3. WorkSheet中获取所有数据。

让我们通过以下示例,逐一了解如何以不同的方式获取数据:

4.1 获取特定单元格值

从 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()
$vbLabelText   $csharpLabel

workSheet是 Excel 文件的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()
$vbLabelText   $csharpLabel

让我们来看一个示例,了解如何在 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)
$vbLabelText   $csharpLabel

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

1output related to 4.1 获取特定单元格值

Excel 文件sample.xlsx row [3].Column [1]C6单元格的值:

1excel related to 4.1 获取特定单元格值

行索引和列索引从0开始。

打开 Excel WorkSheets并获取特定单元格数据,您可以阅读更多关于如何从已打开的 Excel 工作表中使用 C# 读取 Excel 数据的信息

4.2. 从特定范围获取数据

现在让我们看看如何使用 IronXL 从打开的 Excel WorkSheet中获取特定范围内的数据。

IronXL 提供了一种智能的方式来获取特定范围内的数据。 我们只需指定fromto值:

: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")
$vbLabelText   $csharpLabel

让我们来看一个如何使用 Range 函数从打开的 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);
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

上述代码将从B2B10格提取数据,如下所示:

2output related to 4.2. 从特定范围获取数据

我们可以看到 Excel 文件sample.xlsxB2B10格的值:

2excel related to 4.2. 从特定范围获取数据

4.3. 从行中获取数据

我们还可以描述特定行的范围。 例如:

:path=/static-assets/excel/content-code-examples/how-to/c-sharp-open-excel-worksheet-select-row-range.cs
var rowData = workSheet["A1:E1"];
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

这将显示从A1E1的所有值。 阅读更多关于C# Excel 区域以及如何使用不同的行和列标识的内容。

4.4. 从工作表中获取所有数据

使用 IronXL 也很容易从打开的 Excel 工作表中获取所有单元格数据。 为此,我们需要通过行索引和列索引来访问每个单元格的值。 让我们来看下面的例子,其中我们将遍历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
$vbLabelText   $csharpLabel

上述代码的输出将显示整个打开的 Excel WorkSheet中每个单元格的值。


教程快速访问

Documentation related to 教程快速访问

API 参考资源

使用 IronXL API 参考资源作为指南,了解项目中要使用的所有函数和类,以及命名空间、方法字段、枚举和功能集。

API 参考资源

常见问题解答

如何使用 C# 打开和操作 Excel 工作表?

15. 您可以通过使用 IronXL 库在 C# 中打开和操作 Excel 工作表。首先安装该库,然后使用 WorkBook.Load() 将 Excel 文件加载到 WorkBook 对象中。您可以使用 WorkBook.GetWorkSheet() 方法选择并打开特定工作表。

C# 中支持哪些 Excel 文件类型?

16. 在 C# 中,您可以使用 IronXL 库处理各种 Excel 文件类型,如 .xls.csv.tsv.xlsx

如何从 C# 中的 Excel 工作表中检索特定单元格的值?

17. 要从 Excel 工作表中检索特定单元格的值,可以使用 IronXL 库通过单元格地址访问单元格,语法为 ws["Cell Address"].ToString(),或通过指定行和列索引使用 ws.Rows[RowIndex].Columns[ColumnIndex].Value.ToString()

我可以使用 C# 从工作表中定义的单元格范围中提取数据吗?

18. 是的,您可以使用 C# 从工作表中定义的单元格范围获取数据,使用 IronXL 库的语法 ws["From Cell Address : To Cell Address"] 访问指定范围内的数据。

如何以编程方式读取 Excel 工作表中的所有数据?

19. 要程序化读取 Excel 工作表中的所有数据,您可以使用 IronXL 库循环遍历每一行和列,并用 ws.Rows[i].Columns[j].Value.ToString() 访问每个单元格的值。

为什么开发人员应该使用库来处理 C# 中的 Excel 文件?

使用像 IronXL 这样的库对开发人员有利,因为它简化了在 C# 项目中打开、读取和操作 Excel 文件的过程,提供了处理 Excel 内容的强大功能和类。

如何在我的 C# 项目中安装 Excel 处理库?

20. 要为您的 C# 项目安装 IronXL 库以处理 Excel,请使用命令 dotnet add package IronXL.Excel 通过 NuGet 包管理器。

在工作簿中使用 C# 根据索引打开工作表是否可能?

21. 是的,您可以使用 IronXL 库通过语法 WorkSheet ws = wb.WorkSheets[index]; 根据索引打开工作簿中的工作表,其中 'index' 代表该工作表在工作簿中的位置。

如何在 C# 中处理 Excel 文件中的特定单元格范围?

22. IronXL 允许您通过指定范围(如 "A1:E1")来处理特定单元格范围,以访问和操作 Excel 文件中定义范围内的数据。

我可以在哪里找到有关 C# 中 Excel 处理可用函数的更多信息?

有关 C# 中 Excel 处理可用函数的详细信息,您可以参考 IronXL API 参考资源,该资源提供有关函数、类和命名空间的全面文档。访问 API 参考:https://Iron Software.com/csharp/excel/object-reference/api/。

Curtis Chau
技术作家

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

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

准备开始了吗?
Nuget 下载 1,738,553 | Version: 2025.11 刚刚发布