В современном мире автоматизация обработки данных становится неотъемлемой частью бизнес-процессов. Microsoft Excel остаётся одним из самых популярных инструментов для работы с электронными таблицами. Однако часто возникает необходимость автоматизировать задачи поиска и замены значений внутри файла, будь то обновление устаревших данных, массовое редактирование или подготовка отчётов.
В этой статье мы рассмотрим, как реализовать поиск и замену ячеек в документе Excel на C# и .NET, используя мощную и удобную библиотеку SautinSoft.Excel. Мы рассмотрим преимущества такого подхода, покажем пример кода, расскажем, для каких задач он подходит и в каких случаях рекомендуется его использовать.
Автоматизация поиска и замены в Excel значительно повышает эффективность работы с данными:
Практика показывает, что подобные решения в Excel встречаются в самых разных областях:
Полный код
using SautinSoft.Excel;
using System.IO;
namespace Example
{
class Program
{
static void Main(string[] args)
{
// Get your free key here:
// https://sautinsoft.com/start-for-free/
Sample();
}
/// <summary>
/// Find and Replace Text.
/// </summary>
/// <remarks>
/// Details:
/// </remarks>
static void Sample()
{
string inpFile = @"..\..\..\Example.xlsx";
string outFile = @"..\..\..\Result.xlsx";
ExcelDocument excelDocument = ExcelDocument.Load(inpFile);
CellRange range = excelDocument.Worksheets[0].Cells.GetSubrange("A2", "C9");
range.FindText("Random", false, true, out int row, out int col);
if (row > -1 && col > -1) excelDocument.Worksheets[0].Cells[row, col].Value = "Replace";
excelDocument.Save(outFile);
// Important for Linux: Install MS Fonts
// sudo apt install ttf-mscorefonts-installer -y
// Open the result for demonstration purposes.
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(outFile) { UseShellExecute = true });
}
}
}Imports SautinSoft.Excel
Imports System.IO
Namespace Example
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Get your free key here:
' https://sautinsoft.com/start-for-free/
Sample()
End Sub
''' <summary>
''' Find and Replace Text.
''' </summary>
''' <remarks>
''' Details:
''' </remarks>
Private Shared Sub Sample()
Dim inpFile As String = "..\..\..\Example.xlsx"
Dim outFile As String = "..\..\..\Result.xlsx"
Dim excelDocument As ExcelDocument = ExcelDocument.Load(inpFile)
Dim range As CellRange = excelDocument.Worksheets(0).Cells.GetSubrange("A2", "C9")
Dim row As Integer
Dim col As Integer
range.FindText("Random", False, True, row, col)
If row > -1 AndAlso col > -1 Then
excelDocument.Worksheets(0).Cells(row, col).Value = "Replace"
End If
excelDocument.Save(outFile)
' Important for Linux: Install MS Fonts
' sudo apt install ttf-mscorefonts-installer -y
' Open the result for demonstration purposes.
System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(outFile) With {.UseShellExecute = True})
End Sub
End Class
End Namespace
Если вам нужен пример кода или у вас есть вопрос: напишите нам по адресу support@sautinsoft.ru или спросите в онлайн-чате (правый нижний угол этой страницы) или используйте форму ниже: