Поиск и замена данных в диапазоне

Aspose.Cells предоставляет метод FindOptions.setRange() для указания диапазона при поиске данных.

Предположим, вы хотите найти строку “поиск” и заменить ее на “замена” в диапазоне E3:H6. На скриншоте ниже показано, что строка “поиск” есть в нескольких ячейках, но мы хотим заменить ее только в заданном диапазоне, отмеченном здесь желтым цветом.

Входной файл

todo:image_alt_text

После выполнения кода выходной файл выглядит так, как показано на рисунке ниже. Все строки “поиска” в диапазоне были заменены на “замена”.

Файл вывода

todo:image_alt_text

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getDataDir(SearchReplaceDataInRange.class);
Workbook workbook = new Workbook(dataDir + "input.xlsx");
Worksheet worksheet = workbook.getWorksheets().get(0);
// Specify the range where you want to search
// Here the range is E3:H6
CellArea area = CellArea.createCellArea("E3", "H6");
// Specify Find options
FindOptions opts = new FindOptions();
opts.setLookInType(LookInType.VALUES);
opts.setLookAtType(LookAtType.ENTIRE_CONTENT);
opts.setRange(area);
Cell cell = null;
do {
// Search the cell with value search within range
cell = worksheet.getCells().find("search", cell, opts);
// If no such cell found, then break the loop
if (cell == null)
break;
// Replace the cell with value replace
cell.putValue("replace");
} while (true);
// Save the workbook
workbook.save(dataDir + "output.xlsx");

Связанные статьи