Excel 的查找和替换功能是用户在编辑大型 Excel 电子表格时不可或缺的工具。它允许用户在工作表或单元格范围内搜索特定值,并快速准确地将这些值更新为新值。有了这个功能,用户就不需要进行手动搜索,这大大提高了他们的工作效率。在本文中,我们将介绍如何使用 Spire.XLS for .NET 以编程方式在 Excel 中查找和替换数据。
安装 Spire.XLS for .NET
首先,您需要将 Spire.XLS for .NET 包含的 DLL 文件作为引用添加到您的 .NET 项目中。DLL 文件可以从此链接下载,也可以通过 NuGet 安装。
PM> Install-Package Spire.XLS
在 Excel 中查找和替换工作表中的数据
Spire.XLS for.NET 提供了 Worksheet.FindAllString(string stringValue, bool formula, bool formulaValue) 方法,使您能够在 Excel 工作表中查找包含特定数据值的单元格。查找到单元格后,可以使用 CellRange.Text 属性将它们的值更新为新值。具体步骤如下:
- 初始化 Workbook 类的实例。
- 使用 Workbook.LoadFromFile(string fileName) 方法加载 Excel 文件。
- 使用 Workbook.Worksheets[int index] 属性获取特定工作表。
- 使用 Worksheet.FindAllString(string stringValue, bool formula, bool formulaValue) 方法在工作表中查找包含特定值的单元格。
- 循环遍历查找到的单元格。
- 使用 CellRange.Text 属性用另一个值更新每个单元格的值。
- 设置单元格的背景,以便使用 CellRange.Style.Color 属性轻松查找更新的单元格。
- 使用 Workbook.SaveToFile(string fileName, ExcelVersion version) 方法将结果文件保存到特定位置。
- C#
- VB.NET
using Spire.Xls;
using System.Drawing;
namespace ReplaceDataInWorksheet
{
internal class Program
{
static void Main(string[] args)
{
//初始化Workbook类的实例
Workbook workbook = new Workbook();
//加载Excel文件
workbook.LoadFromFile(@"示例文档.xlsx");
//获取特定工作表
Worksheet worksheet = workbook.Worksheets[0];
//在工作表中查找具有特定字符串值的单元格
CellRange[] cells = worksheet.FindAllString("总支出", true, true);
//循环遍历查找到的单元格
foreach (CellRange cell in cells)
{
//将单元格的值替换为另一个值
cell.Text = "合计";
//设置单元格的背景色
cell.Style.Color = Color.Yellow;
}
//将结果文件保存到特定位置
workbook.SaveToFile("替换工作表中的数据.xlsx", ExcelVersion.Version2016);
workbook.Dispose();
}
}
}
Imports Spire.Xls
Imports System.Drawing
Namespace ReplaceDataInWorksheet
Friend Class Program
Private Shared Sub Main(ByVal args As String())
'初始化Workbook类的实例
Dim workbook As Workbook = New Workbook()
'加载Excel文件
workbook.LoadFromFile("示例文档.xlsx")
'获取特定工作表
Dim worksheet As Worksheet = workbook.Worksheets(0)
'在工作表中查找具有特定字符串值的单元格
Dim cells As CellRange() = worksheet.FindAllString("总支出", True, True)
'循环遍历查找到的单元格
For Each cell As CellRange In cells
'将单元格的值替换为另一个值
cell.Text = "合计"
'设置单元格的背景色
cell.Style.Color = Color.Yellow
Next
'将结果文件保存到特定位置
workbook.SaveToFile("替换工作表中的数据.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
End Sub
End Class
End Namespace
在 Excel 中查找和替换特定单元格区域中的数据
您可以使用 CellRange.FindAllString(string stringValue, bool formula, bool formulaValue) 方法在单元格区域中查找包含特定值的单元格。然后,您可以使用 CellRange.Text 属性将每个查找到的单元格的值更新为新值。具体步骤如下:
- 初始化 Workbook 类的实例。
- 使用 Workbook.LoadFromFile(string fileName) 方法加载 Excel 文件。
- 使用 Workbook.Worksheets[int index] 属性获取特定工作表。
- 使用 Worksheet.Range[string rangeName] 属性获取工作表的特定单元格区域。
- 使用 CellRange.FindAllString(string stringValue, bool formula, bool formulaValue) 方法查找单元格区域中具有特定值的单元格。
- 循环遍历查找到的单元格。
- 使用 CellRange.Text 属性将每个查找到的单元格的值更新为另一个值。
- 设置单元格的背景,以便使用CellRange.Style.Color 属性轻松查找更新的单元格。
- 使用 Workbook.SaveToFile(string fileName, ExcelVersion version) 方法将结果文件保存到特定位置。
- C#
- VB.NET
using Spire.Xls;
using System.Drawing;
namespace ReplaceDataInCellRange
{
internal class Program
{
static void Main(string[] args)
{
//初始化Workbook类的实例
Workbook workbook = new Workbook();
//加载Excel文件
workbook.LoadFromFile(@"示例文档.xlsx");
//获取文件的特定工作表
Worksheet worksheet = workbook.Worksheets[0];
//获取特定单元格区域
CellRange range = worksheet.Range["A1:C9"];
//在单元格范围中查找具有特定值的单元格
CellRange[] cells = range.FindAllString("总支出", true, true);
//循环遍历查找到的单元格
foreach (CellRange cell in cells)
{
//将单元格的值替换为另一个值
cell.Text = "合计";
//设置单元格的背景色
cell.Style.Color = Color.Yellow;
}
//将结果文件保存到特定位置
workbook.SaveToFile("替换单元格范围中的数据.xlsx", ExcelVersion.Version2016);
workbook.Dispose();
}
}
}
Imports Spire.Xls
Imports System.Drawing
Namespace ReplaceDataInCellRange
Friend Class Program
Private Shared Sub Main(ByVal args As String())
'初始化Workbook类的实例
Dim workbook As Workbook = New Workbook()
'加载Excel文件
workbook.LoadFromFile("示例文档.xlsx")
'获取文件的特定工作表
Dim worksheet As Worksheet = workbook.Worksheets(0)
'获取特定单元格区域
Dim range As CellRange = worksheet.Range("A1:C9")
'在单元格范围中查找具有特定值的单元格
Dim cells As CellRange() = range.FindAllString("总支出", True, True)
'循环遍历查找到的单元格
For Each cell As CellRange In cells
'将单元格的值替换为另一个值
cell.Text = "合计"
'设置单元格的背景色
cell.Style.Color = Color.Yellow
Next
'将结果文件保存到特定位置
workbook.SaveToFile("替换单元格范围中的数据.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
End Sub
End Class
End Namespace
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。