Поиск и замена данных в диапазоне
Aspose.Cells предоставляет метод FindOptions.setRange() для указания диапазона при поиске данных.
Предположим, вы хотите найти строку “поиск” и заменить ее на “замена” в диапазоне E3:H6. На скриншоте ниже показано, что строка “поиск” есть в нескольких ячейках, но мы хотим заменить ее только в заданном диапазоне, отмеченном здесь желтым цветом.
Входной файл
После выполнения кода выходной файл выглядит так, как показано на рисунке ниже. Все строки “поиска” в диапазоне были заменены на “замена”.
Файл вывода
// 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"); |