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 天的临时许可证。
 
    


 
					



