在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
与 Excel文件 通过编程方式可以显著提高您的C#应用程序的效率和自动化能力。 无论您是在生成报告、处理数据,还是动态创建复杂的电子表格,掌握Excel文件的操作都是至关重要的。 在本教程中,我们将重点使用Excel范围进行操作 IronXL. 我们将介绍如何 写道, 读取和 操作范围 在 Excel 文件中。
安装IronXL库以处理Excel文件。
加载工作簿并指定工作表。
选择要读取的单元格范围。
IronXL 是一个全面的C#库,可以简化Excel文件的操作,提供无缝集成和操作电子表格数据的多种功能。 其功能包括 阅读, 写作和 修改 Excel文件无需安装Microsoft Excel,即可实现跨平台兼容性。
IronXL 能够从特定数据中提取数据 单元格, 范围,或整个工作表,以及高级功能,如 格式化, 造型和 条件格式. 通过支持计算、公式和统计分析,IronXL使开发人员能够以编程方式高效处理Excel操作,使其成为在C#应用程序中自动化数据中心任务的不可或缺的工具。
首先,我们需要在我们的应用程序中安装IronXL库。
您可以通过NuGet包管理器使用以下命令安装IronXL:
Install-Package IronXL.Excel
Install-Package IronXL.Excel
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronXL.Excel
上述命令将安装 IronXL 及其所有依赖项。
在 Program.cs 类的顶部或您希望使用 IronXL 方法的任何位置添加以下命名空间。
using IronXL;
using IronXL;
Imports IronXL
第一步是加载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
该文件行从名为“test_excel.xlsx”的文件加载现有的Excel工作簿。 第二行从加载的工作簿中检索名为“Sheet1”的工作表。
在本教程中,我将使用以下 Excel 文件。
现在,让我们从指定的单元格范围读取数据。
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
第一行选择特定的范围地址 (A2 到 G10) 在工作表中,允许您同时处理多个 Excel 单元格。 foreach (范围内的项目) 循环遍历此单元格范围内的每个单元格,实现高效的数据处理。
通过使用 Console.WriteLine(项目); 该代码将每个单元格的值打印到控制台,方便查看该范围的内容。 这种方法简化了数据处理并提高了代码的可读性。
让我们选择一个特定的范围,并实现一些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()))}")
代码 var range = sheet
["F2:F42"]; 选择从F2到F42的单元格范围,以便进行年龄数据的统计分析。 使用 range.Min() 和 range.Max(), 它高效地计算指定范围内的最小和最大年龄值,有助于获得人口统计见解。
另外,range.Avg() 计算平均年龄,为数据解释提供有价值的统计指标。 这种方法简化了数据分析任务,提供了快速获取必要统计信息的途径,以便做出明智的决策。
让我们从单个单元格读取数据。
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}")
代码 var read_from_single_cell = sheet["B2"]; 从工作表中检索存储在单元格B2中的值。 使用这种方法,您可以轻松访问Excel文件中的特定单元格值。
使用 Console.WriteLine(单元格 B2 中的值是: {从单个单元格读取}")代码将引用单元格的检索值打印到控制台,以便于数据验证和调试。 这简化了从Excel文件中检索和显示单个单元格值的过程。
让我们使用索引从整列读取数据。
// 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
代码 var columnValues = sheet.GetColumn(2); 从索引为2的列中检索所有值 (B列) 在工作表中。 这让您能够高效地访问Excel表中特定列的所有值。
通过遍历 columnValues 的 foreach 循环,每个列中的值都会使用 Console.WriteLine 打印到控制台。(列值);. 这种方法有助于处理和显示来自Excel文件的列状数据,从而简化数据分析任务。
或者,我们也可以使用列名而不是索引来读取列中的数据。 考虑以下示例:
var columnValues = sheet.GetColumn("C");
var columnValues = sheet.GetColumn("C");
Dim columnValues = sheet.GetColumn("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
代码 var rowValues = sheet.GetRow
(1); 从索引1处的单行获取所有值 (第2行) 在工作表中,能够高效访问特定行的数据。 通过 foreach 循环遍历 rowValues,每一行的值都使用 Console.Write 打印到控制台。(rowValue + " ");.
这种方法简化了从Excel文件中提取和显示行数据的过程,有助于数据分析和报告任务。 通过这种方式,我们可以在不指定范围的情况下从多个单元格中读取值。
我们可以将数据写入单个单元格和范围。 首先,我们将数据写入一个范围。
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()
代码 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()
代码表["B2"].Value = "John"; 直接将值 "John" 分配到 Excel 工作表的 B2 单元格,提供了一种简洁明了的方法来更新特定的单元格值。 这种方法简化了修改单个单元格内容的过程,提升了代码的可读性和效率。
总之,使用IronXL在C#中掌握Excel范围操作显著提高了应用程序的效率和自动化能力,有助于数据处理、报告生成和动态电子表格创建等任务。
借助IronXL的强大功能来读取、写入和操作Excel文件,开发人员可以简化数据处理流程,并利用公式、格式设置和统计分析等高级功能。 此外,IronXL 提供一个 免费试用,确保灵活性和可扩展性,以满足各种项目需求。