IRONSOFTWAREHOME
USING IRONXL

如何在 C# 中管理 Excel 范围

Curtis Chau
Curtis Chau
Updated: 2026年4月21日

通过编程方式处理Excel 文件可以显著提高 C# 应用程序的效率和自动化功能。 无论您是生成报告、处理数据还是动态创建复杂的电子表格,掌握 Excel 文件的操作都至关重要。 在本教程中,我们将重点介绍如何使用IronXL处理 Excel 区域。 我们将介绍如何在 Excel 文件中写入读取操作区域

How to Read Excel Ranges in C#

  1. 安装 IronXL 库以处理 Excel 文件。
  2. 加载工作簿并指定工作表。
  3. 选择要读取的单元格范围。
  4. 从指定范围内提取和读取数据。

什么是 IronXL?

IronXL是一个全面的 C# 库,它简化了 Excel 文件的操作,提供了一系列功能,可实现电子表格数据的无缝集成和操作。 它具备读取写入修改Excel 文件的功能,无需安装 Microsoft Excel,从而实现跨平台兼容性。

IronXL 可以方便地从特定单元格区域或整个工作表中提取数据,并提供格式设置样式设置条件格式设置等高级功能。 IronXL 支持计算、公式和统计分析,使开发人员能够以编程方式高效地处理 Excel 操作,使其成为在 C# 应用程序中自动化以数据为中心的任务的不可或缺的工具。

Getting Started with Excel Range of cells in C#

首先,我们需要在应用程序中安装 IronXL 库。

安装 IronXL NuGet 包

您可以使用以下命令通过 NuGet 包管理器安装 IronXL:

PM > Install-Package IronXL.Excel

上述命令将安装 IronXL 及其所有依赖项。

如何在C#中管理Excel范围:图1

添加命名空间

在 Program.cs 类的顶部,或任何你想使用 IronXL 方法的地方,添加以下命名空间。

using IronXL;

加载 Excel 工作簿

第一步是加载 Excel 工作簿。 以下代码会将 Excel 工作簿加载到我们的应用程序中。

static void Main(string[] args)
{
    // Load an existing Excel workbook
    var workbook = WorkBook.Load("test_excel.xlsx");
    
    // Retrieve the specified worksheet from the workbook
    var sheet = workbook.GetWorkSheet("Sheet1");
}

第一行代码从名为"test_excel.xlsx"的文件中加载一个现有的Excel工作簿。 第二行从已加载的工作簿中检索名为"Sheet1"的工作表。

在本教程中,我将使用以下 Excel 文件。

如何在C#中管理Excel范围:图2

从一系列数据中读取数据

现在,让我们读取指定单元格范围内的数据。

// Define a range from cell A2 to G10 in the worksheet
var range = sheet["A2:G10"];

// Iterate over each cell in the range and output its value
foreach (var item in range)
{
    Console.WriteLine(item);
}

第一行选择工作表中的特定范围地址(A2 到 G10),允许您同时处理多个 Excel 单元格。 foreach (var item in range) 循环遍历此单元格范围内的每个单元格,实现高效数据处理。

通过使用 Console.WriteLine(item);,代码将每个单元格的值打印到控制台上,方便查看范围的内容。 这种方法简化了数据处理,提高了代码可读性。

在区域中使用 Excel 公式

让我们选择一个特定的范围,并应用一些 Excel 公式。

// Define a range from cell F2 to F42 for statistical analysis
var range = sheet["F2:F42"];

// Output the minimum age within the range
Console.WriteLine($"Minimum Age: {range.Min()}");

// Output the maximum age within the range
Console.WriteLine($"Maximum Age: {range.Max()}");

// Output the average age, casting the average value to an integer
Console.WriteLine($"Average Age: {(int)range.Avg()}");

代码 var range = sheet["F2:F42"]; 选择从F2到F42的单元格范围,便于年龄数据的统计分析。 使用 range.Min()range.Max(),它有效计算指定范围内的最小和最大年龄值,有助于人口统计洞察。

此外,range.Avg() 计算平均年龄,提供有价值的数据解释统计指标。 这种方法简化了数据分析任务,使用户能够快速获取必要的统计信息,从而做出明智的决策。

如何在C#中管理Excel范围:图3

从单个细胞读取数据

让我们读取单个细胞中的数据。

// Retrieve the value from cell B2 in the worksheet
var read_from_single_cell = sheet["B2"];

// Output the value in cell B2
Console.WriteLine($"The Value in Cell B2 is: {read_from_single_cell}");

代码 var read_from_single_cell = sheet["B2"]; 从工作表中检索存储在单元格B2中的值。 使用这种方法,您可以轻松访问 Excel 文件中的特定单元格值。 using Console.WriteLine($"The Value in Cell B2 is: {read_from_single_cell}");,代码将引用单元格的检索值打印到控制台,方便进行数据验证和调试。 这简化了从 Excel 文件中检索和显示单个单元格值的过程。

如何在C#中管理Excel范围:图4

读取整列数据

让我们使用索引读取整列数据。

// Retrieve values from the column at index 2 (C column) 
var columnValues = sheet.GetColumn(2); // 2 is column index

// Iterate over each value in the column and output it
foreach (var columnValue in columnValues)
{
    Console.WriteLine(columnValue);
}

代码 var columnValues = sheet.GetColumn(2); 从工作表中检索位于索引2(C列)的列中的所有值。 这样可以高效地访问 Excel 表格中特定列的所有值。

通过迭代 columnValuesforeach 循环,使用 Console.WriteLine(columnValue); 将列中的每个值打印到控制台。 这种方法便于处理和显示 Excel 文件中的列式数据,简化数据分析任务。

如何在C#中管理Excel范围:图5

或者,我们也可以使用列名而不是索引来读取列中的数据。 请考虑以下示例:

// Retrieve values from the column with name "C"
var columnValues = sheet.GetColumn("C");

这样我们就可以指定多列了。

读取整行数据

让我们通过行号读取整行数据。

// Retrieve values from the row at index 1 (Row 2)
var rowValues = sheet.GetRow(1); // 1 is row index

// Iterate over each value in the row and output it
foreach (var rowValue in rowValues)
{
    Console.Write(rowValue + "  ");
}

代码 var rowValues = sheet.GetRow(1); 取出工作表中索引1(第2行)所在的单行中的所有值,实现对行特定数据的高效访问。 通过 rowValuesforeach 循环,使用 Console.Write(rowValue + " "); 将行中的每个值打印到控制台。

这种方法简化了从 Excel 文件中提取和显示行数据的过程,有助于数据分析和报告任务。 这样,我们就可以在不指定范围的情况下读取多个单元格的值。

如何在C#中管理Excel范围:图6

将数据写入单元格或范围

我们可以将数据写入单元格和区域。 首先,我们将数据写入一个范围。

// Select a range from D2 to D14 for modification
var range = sheet["D2:D14"];

// Set the value for each cell in the range
range.Value = "Prefer Not to Say"; // Change Gender Value

// Save the modified workbook to persist changes
workbook.Save();

代码 var range = sheet["D2:D14"]; 选择从单元格D2到D14的范围,启用批量数据修改。 通过将 range.Value 设置为"不愿透露",它有效更新指定范围内每个单元格的性别值,减少重复性任务。

后续的 workbook.Save(); 命令确保这些更改的持久存储,维护数据一致性和完整性。 这种方法简化了批量更新,并确保了多个单元格之间的一致性,从而提高了数据管理效率。

现在,让我们向特定单元格写入数据。

// Set the value for cell B2
sheet["B2"].Value = "John";

// Save the workbook to persist the changes
workbook.Save();

代码 sheet["B2"].Value = "John"; 直接将值"John"分配给Excel工作表中的单元格B2,提供更新特定单元格值的简洁直接的方法。 这种方法简化了修改单个单元格内容的过程,提高了代码的可读性和效率。

如何在C#中管理Excel范围:图7 - C# Excel范围

结论

总之,掌握使用 IronXL 在 C# 中进行 Excel 区域操作可以显著提高应用程序的效率和自动化能力,从而简化数据处理、报表生成和动态电子表格创建等任务。

IronXL 具有强大的 Excel 文件读取、写入和操作功能,开发人员可以简化数据处理流程,并利用公式、格式设置和统计分析等高级功能。 此外,IronXL 还提供免费试用,确保其能够灵活且可扩展地满足各种项目需求。

Curtis Chau
技术作家

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

...
阅读更多

相关文章

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户