Trouver ou rechercher des données
Dans Microsoft Excel, les utilisateurs peuvent rechercher des cellules contenant des données spécifiques. Par exemple, en cliquant sur Modifier puis sur Rechercher, la boîte de dialogue de recherche s’ouvre. Les utilisateurs saisissent une valeur et cliquent sur OK pour la rechercher. Excel surligne les champs correspondants.
Utilisation de la boîte de dialogue Rechercher pour trouver des cellules contenant une valeur spécifique
Dans cet exemple, la valeur de recherche est “Oranges”.
Aspose.Cells permet aux développeurs de rechercher dans les cellules d’une feuille de calcul afin de trouver celles qui contiennent une valeur donnée.
Trouver des cellules contenant des données spécifiques
Aspose.Cells fournit une classe, Workbook, qui représente un fichier Excel. La classe Workbook contient WorksheetCollection, une collection qui permet d’accéder à chacune des feuilles de calcul du fichier Excel. Une feuille de calcul est représentée par la classe Worksheet.
La classe Worksheet fournit Cells, une collection qui représente toutes les cellules de la feuille de calcul. La collection Cells fournit plusieurs méthodes pour trouver des cellules dans une feuille de calcul contenant des données spécifiées par l’utilisateur. Quelques-unes de ces méthodes sont discutées ci-dessous en détail.
Toutes les méthodes de recherche renvoient les références des cellules contenant la valeur de recherche spécifiée.
Recherche contenant une formule
Les développeurs peuvent trouver une formule spécifiée dans la feuille de calcul en appelant la méthode find de la collection Cells, en définissant FindOptions.setLookInType à LookInType.FORMULAS et en le passant en paramètre à la méthode find.
Généralement, la méthode find accepte deux paramètres ou plus :
- Objet à rechercher : représente un objet qui doit être trouvé dans la feuille de calcul.
- La cellule précédente: représente la cellule précédente avec la même formule. Ce paramètre peut être défini sur null lors de la recherche depuis le début.
- Options de recherche: représente les critères de recherche. Dans les exemples ci-dessous, les données de la feuille de calcul suivante sont utilisées pour pratiquer les méthodes de recherche:
Données d’exemple de la feuille de calcul
// 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.getSharedDataDir(FindingCellsContainingFormula.class) + "data/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
// Accessing the first worksheet in the Excel file | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
// Finding the cell containing the specified formula | |
Cells cells = worksheet.getCells(); | |
FindOptions findOptions = new FindOptions(); | |
findOptions.setLookInType(LookInType.FORMULAS); | |
Cell cell = cells.find("=SUM(A5:A10)", null, findOptions); | |
// Printing the name of the cell found after searching worksheet | |
System.out.println("Name of the cell containing formula: " + cell.getName()); |
Recherche de chaînes
Rechercher des cellules contenant une valeur de chaîne est facile et flexible. Il existe différentes façons de rechercher, par exemple, recherche de cellules contenant des chaînes qui commencent par un caractère particulier ou un ensemble de caractères.
Recherche de chaînes qui commencent par des caractères spécifiques
Pour rechercher le premier caractère dans une chaîne, appelez la méthode Cells de la collection, définissez la méthode setLookAtType à LookAtType.START_WITH et passez-la comme paramètre à la méthode find.
// 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.getSharedDataDir(FindingCellsWithStringOrNumber.class) + "data/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
// Accessing the first worksheet in the Excel file | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
// Finding the cell containing the specified formula | |
Cells cells = worksheet.getCells(); | |
// Instantiate FindOptions | |
FindOptions findOptions = new FindOptions(); | |
// Finding the cell containing a string value that starts with "Or" | |
findOptions.setLookAtType(LookAtType.START_WITH); | |
Cell cell = cells.find("SH", null, findOptions); | |
// Printing the name of the cell found after searching worksheet | |
System.out.println("Name of the cell containing String: " + cell.getName()); |
Recherche de chaînes se terminant par des caractères spécifiques
Aspose.Cells peut également trouver des chaînes se terminant par des caractères spécifiques. Pour rechercher les derniers caractères dans une chaîne, appelez la méthode Cells de la collection, définissez la méthode setLookAtType à LookAtType.END_WITH et passez-la comme paramètre à la méthode find.
// 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.getSharedDataDir(FindingCellsEndWithSpecificCharacters.class) + "data/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
// Accessing the first worksheet in the Excel file | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
// Finding the cell containing the specified formula | |
Cells cells = worksheet.getCells(); | |
// Instantiate FindOptions | |
FindOptions findOptions = new FindOptions(); | |
// Finding the cell containing a string value that ends with "es" | |
findOptions.setLookAtType(LookAtType.END_WITH); | |
Cell cell = cells.find("SH", null, findOptions); | |
// Printing the name of the cell found after searching worksheet | |
System.out.println("Name of the cell containing String: " + cell.getName()); |
Recherche avec expressions régulières: la fonctionnalité RegEx
Une expression régulière fournit un moyen concis et flexible de faire correspondre (spécifier et reconnaître) des chaînes de texte, telles que des caractères, des mots ou des motifs particuliers.
Par exemple, le motif d’expression régulière abc-*xyz correspond aux chaînes “abc-123-xyz”, “abc-985-xyz” et “abc-pony-xyz”. * est un caractère générique, donc le motif correspond à toutes les chaînes qui commencent par “abc” et se terminent par “-xyz”, quelle que soit la nature des caractères présents entre les deux.
Aspose.Cells vous permet de rechercher avec des expressions régulières.
// 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.getSharedDataDir(FindingwithRegularExpressions.class) + "data/"; | |
// Instantiating a Workbook object | |
Workbook workbook = new Workbook(dataDir + "book1.xls"); | |
// Accessing the first worksheet in the Excel file | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
// Finding the cell containing the specified formula | |
Cells cells = worksheet.getCells(); | |
// Instantiate FindOptions | |
FindOptions findOptions = new FindOptions(); | |
// Instantiate FindOptions | |
FindOptions opt = new FindOptions(); | |
// Set the search key of find() method as standard RegEx | |
opt.setRegexKey(true); | |
opt.setLookAtType(LookAtType.ENTIRE_CONTENT); | |
cells.find("abc[\\s]*$", null, opt); |