Rechercher et remplacer des données dans une plage

Aspose.Cells fournit la méthode FindOptions.setRange() pour spécifier une plage lors de la recherche de données.

Supposons que vous voulez rechercher la chaîne “recherche” et la remplacer par “remplacer” dans la plage E3:H6. Dans la capture d’écran ci-dessous, la chaîne “rechercher” est visible dans plusieurs cellules, mais nous voulons la remplacer uniquement dans une plage donnée, ici surlignée en jaune.

Fichier d’entrée

todo:image_alt_text

Après l’exécution du code, le fichier de sortie ressemble à ce qui suit. Toutes les chaînes “rechercher” dans la plage ont été remplacées par “remplacer”.

Fichier de sortie

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");

Articles Connexes