Поиск и замена данных в диапазоне с C++
Contents
[
Hide
]
Иногда необходимо искать и заменять конкретные данные в диапазоне, игнорируя значения ячеек за пределами этого диапазона. Aspose.Cells позволяет ограничить поиск конкретным диапазоном. В этой статье объясняется, как это сделать.
Aspose.Cells предоставляет метод FindOptions::SetRange() для указания диапазона при поиске данных. Пример кода ниже демонстрирует, как искать и заменять данные в диапазоне.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Path of input excel file
U16String filePath = srcDir + u"input.xlsx";
// Create workbook
Workbook workbook(filePath);
// Get the first worksheet
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Specify the range where you want to search
// Here the range is E9:H15
CellArea area = CellArea::CreateCellArea(u"E9", u"H15");
// Specify Find options
FindOptions opts;
opts.SetLookInType(LookInType::Values);
opts.SetLookAtType(LookAtType::EntireContent);
opts.SetRange(area);
Cell cell;
do
{
// Search the cell with value search within range
cell = worksheet.GetCells().Find(u"search", cell, opts);
// If no such cell found, then break the loop
if (!cell)
break;
// Replace the cell with value replace
cell.PutValue(u"replace");
} while (true);
// Save the workbook
U16String outputPath = srcDir + u"output.out.xlsx";
workbook.Save(outputPath);
std::cout << "Workbook saved successfully!" << std::endl;
Aspose::Cells::Cleanup();
}