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