使用IRONXL

如何在C#中管理Excel范围

发布 2024年九月29日
分享:

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

如何在C#中读取Excel范围

  1. 安装IronXL库以处理Excel文件。

  2. 加载工作簿并指定工作表。

  3. 选择要读取的单元格范围。

  4. 从指定范围提取和读取数据。

什么是IronXL?

IronXL 是一个全面的C#库,可以简化Excel文件的操作,提供无缝集成和操作电子表格数据的多种功能。 其功能包括 阅读, 写作修改 Excel文件无需安装Microsoft Excel,即可实现跨平台兼容性。

IronXL 能够从特定数据中提取数据 单元格, 范围,或整个工作表,以及高级功能,如 格式化, 造型条件格式. 通过支持计算、公式和统计分析,IronXL使开发人员能够以编程方式高效处理Excel操作,使其成为在C#应用程序中自动化数据中心任务的不可或缺的工具。

快速入门:在C#中使用Excel单元格范围

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

安装 IronXL NuGet 包

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

Install-Package IronXL.Excel
Install-Package IronXL.Excel
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronXL.Excel
VB   C#

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

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

添加命名空间

在 Program.cs 类的顶部或您希望使用 IronXL 方法的任何位置添加以下命名空间。

using IronXL;
using IronXL;
Imports IronXL
VB   C#

加载 Excel 工作簿

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

static void Main(string[] args)
 {
     var workbook = WorkBook.Load("test_excel.xlsx");
     var sheet = workbook.GetWorkSheet("Sheet1");
 }
static void Main(string[] args)
 {
     var workbook = WorkBook.Load("test_excel.xlsx");
     var sheet = workbook.GetWorkSheet("Sheet1");
 }
Shared Sub Main(ByVal args() As String)
	 Dim workbook = WorkBook.Load("test_excel.xlsx")
	 Dim sheet = workbook.GetWorkSheet("Sheet1")
End Sub
VB   C#

该文件行从名为“test_excel.xlsx”的文件加载现有的Excel工作簿。 第二行从加载的工作簿中检索名为“Sheet1”的工作表。

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

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

从范围读取数据

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

var range = sheet["A2:G10"];
foreach (var item in range)
{
    Console.WriteLine(item);
}
var range = sheet["A2:G10"];
foreach (var item in range)
{
    Console.WriteLine(item);
}
Dim range = sheet("A2:G10")
For Each item In range
	Console.WriteLine(item)
Next item
VB   C#

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

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

在范围中使用Excel公式

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

var range = sheet["F2:F42"];
Console.WriteLine($"Minimum Age: {range.Min()}");
Console.WriteLine($"Maximum Age: {range.Max()}");
Console.WriteLine($"Average Age: {(int)range.Avg()}");
var range = sheet["F2:F42"];
Console.WriteLine($"Minimum Age: {range.Min()}");
Console.WriteLine($"Maximum Age: {range.Max()}");
Console.WriteLine($"Average Age: {(int)range.Avg()}");
Imports System

Dim range = sheet("F2:F42")
Console.WriteLine($"Minimum Age: {range.Min()}")
Console.WriteLine($"Maximum Age: {range.Max()}")
Console.WriteLine($"Average Age: {CInt(Math.Truncate(range.Avg()))}")
VB   C#

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

另外,range.Avg() 计算平均年龄,为数据解释提供有价值的统计指标。 这种方法简化了数据分析任务,提供了快速获取必要统计信息的途径,以便做出明智的决策。

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

从单个单元格读取数据

让我们从单个单元格读取数据。

var read_from_single_cell = sheet["B2"];
Console.WriteLine($"The Value in Cell B2 is: {read_from_single_cell}");
var read_from_single_cell = sheet["B2"];
Console.WriteLine($"The Value in Cell B2 is: {read_from_single_cell}");
Dim read_from_single_cell = sheet("B2")
Console.WriteLine($"The Value in Cell B2 is: {read_from_single_cell}")
VB   C#

代码 var read_from_single_cell = sheet["B2"]; 从工作表中检索存储在单元格B2中的值。 使用这种方法,您可以轻松访问Excel文件中的特定单元格值。

使用 Console.WriteLine(单元格 B2 中的值是: {从单个单元格读取}")代码将引用单元格的检索值打印到控制台,以便于数据验证和调试。 这简化了从Excel文件中检索和显示单个单元格值的过程。

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

从整列读取数据

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

// Get Last name Column from Index 2
 var columnValues = sheet.GetColumn(2); // 2 is column index
 foreach ( var columnValue in columnValues )
 {
     Console.WriteLine(columnValue);
 }
// Get Last name Column from Index 2
 var columnValues = sheet.GetColumn(2); // 2 is column index
 foreach ( var columnValue in columnValues )
 {
     Console.WriteLine(columnValue);
 }
' Get Last name Column from Index 2
 Dim columnValues = sheet.GetColumn(2) ' 2 is column index
 For Each columnValue In columnValues
	 Console.WriteLine(columnValue)
 Next columnValue
VB   C#

代码 var columnValues = sheet.GetColumn(2); 从索引为2的列中检索所有值 (B列) 在工作表中。 这让您能够高效地访问Excel表中特定列的所有值。

通过遍历 columnValues 的 foreach 循环,每个列中的值都会使用 Console.WriteLine 打印到控制台。(列值);. 这种方法有助于处理和显示来自Excel文件的列状数据,从而简化数据分析任务。

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

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

var columnValues = sheet.GetColumn("C");
var columnValues = sheet.GetColumn("C");
Dim columnValues = sheet.GetColumn("C")
VB   C#

通过这种方式,我们可以指定多个列。

从整行读取数据

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

var rowValues = sheet.GetRow(1);// 1 is row index
 foreach (var rowValue in rowValues)
 {
     Console.Write(rowValue + "  ");
 }
var rowValues = sheet.GetRow(1);// 1 is row index
 foreach (var rowValue in rowValues)
 {
     Console.Write(rowValue + "  ");
 }
Dim rowValues = sheet.GetRow(1) ' 1 is row index
 For Each rowValue In rowValues
	 Console.Write(rowValue & "  ")
 Next rowValue
VB   C#

代码 var rowValues = sheet.GetRow(1); 从索引1处的单行获取所有值 (第2行) 在工作表中,能够高效访问特定行的数据。 通过 foreach 循环遍历 rowValues,每一行的值都使用 Console.Write 打印到控制台。(rowValue + " ");.

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

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

将数据写入单元格或范围

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

var range = sheet["D2:D14"];
range.Value = "Prefer Not to Say"; // Change Gender Value
workbook.Save();
var range = sheet["D2:D14"];
range.Value = "Prefer Not to Say"; // Change Gender Value
workbook.Save();
Dim range = sheet("D2:D14")
range.Value = "Prefer Not to Say" ' Change Gender Value
workbook.Save()
VB   C#

代码 var range = sheet["D2:D14"]; 选择了从单元格D2到D14的范围,启用批量数据修改。 通过将 range.Value 设置为"Prefer Not to Say",可以高效地更新指定范围内每个单元格的性别值,从而减少重复任务。

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

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

sheet["B2"].Value = "John";
workbook.Save();
sheet["B2"].Value = "John";
workbook.Save();
sheet("B2").Value = "John"
workbook.Save()
VB   C#

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

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

结论

总之,使用IronXL在C#中掌握Excel范围操作显著提高了应用程序的效率和自动化能力,有助于数据处理、报告生成和动态电子表格创建等任务。

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

下一步 >
如何在C#中处理Excel文件

准备开始了吗? 版本: 2024.10 刚刚发布

免费NuGet下载 总下载量: 1,049,987 查看许可证 >