Rechercher des données dans Excel à l'aide de Java

Les feuilles de calcul Excel permettent de stocker une énorme quantité de données sous forme de tableau. Dans certains cas, nous pouvons avoir besoin de rechercher des cellules contenant des valeurs de données spécifiques ou des chaînes de données stockées. Bien qu’Excel fournisse une fonctionnalité intégrée pour rechercher dans toutes les feuilles de calcul, nous devrons peut-être effectuer l’opération de recherche par programme dans les applications Java. Dans cet article, nous allons apprendre comment rechercher des données dans Excel à l’aide de Java.

Les sujets suivants seront traités dans cet article:

Java API to Search Data in Excel

Nous utiliserons l’API Aspose.Cells for Java pour effectuer une opération de recherche sur le fichier XLSX. Il permet d’exécuter des fonctionnalités d’automatisation Excel par programmation sans avoir besoin d’une application Microsoft Excel. Veuillez soit télécharger le JAR de l’API ou simplement ajouter la configuration pom.xml suivante dans une application Java basée sur Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-cells</artifactId>
    <version>22.1</version>
</dependency>

Rechercher un texte spécifique dans Excel à l’aide de Java

Nous pouvons rechercher n’importe quelle valeur de texte, de nombre ou de date dans un fichier Excel en suivant les étapes ci-dessous:

  • Tout d’abord, chargez un fichier Excel à l’aide de la classe Workbook.
  • Ensuite, accédez à la première feuille de calcul dans le fichier Excel.
  • Ensuite, obtenez cellules de la feuille consultée.
  • Ensuite, créez une instance de la classe FindOptions.
  • Après cela, définissez LookAtType sur “ENTIRE_CONTENT”.
  • Enfin, recherchez le texte à l’aide de la méthode Cells.find(). Il prend la chaîne de recherche et FindOptions comme arguments.

L’exemple de code suivant montre comment rechercher un texte spécifique dans un fichier Excel à l’aide de Java.

// Charger un fichier Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Accéder à la première feuille de calcul du fichier Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Obtenir toutes les cellules dans CellCollections
Cells cells = worksheet.getCells();

// Initialiser FindOptions
FindOptions findOptions = new FindOptions();

// Trouver la cellule contenant une valeur de chaîne
findOptions.setLookAtType(LookAtType.ENTIRE_CONTENT);
Cell cell = cells.find("A Company", null, findOptions);

// Afficher le nom de la cellule et sa valeur
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
Rechercher un texte spécifique dans Excel à l'aide de Java

Rechercher un texte spécifique dans Excel à l’aide de Java.

Rechercher du texte commençant par des lettres spécifiques

Nous pouvons rechercher n’importe quelle valeur de texte commençant par des lettres spécifiques en suivant les étapes mentionnées ci-dessus. Cependant, nous devons simplement définir LookAtType sur “START_WITH”.

L’exemple de code suivant montre comment rechercher un texte spécifique commençant par la lettre “H” dans un fichier Excel à l’aide de Java.

// Charger un fichier Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Accéder à la première feuille de calcul du fichier Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Obtenir toutes les cellules dans CellCollections
Cells cells = worksheet.getCells();

// Initialiser FindOptions
FindOptions findOptions = new FindOptions();

// Trouver la cellule contenant une valeur de chaîne
findOptions.setLookAtType(LookAtType.START_WITH);
Cell cell = cells.find("H", null, findOptions);

// Afficher le nom de la cellule et sa valeur
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

Rechercher un texte se terminant par des lettres spécifiques

Nous pouvons rechercher n’importe quelle valeur de texte qui se termine par des lettres spécifiques en suivant les étapes mentionnées ci-dessus. Cependant, nous devons simplement définir LookAtType sur “END_WITH”.

L’exemple de code suivant montre comment rechercher un texte spécifique qui se termine par les lettres “any” dans un fichier Excel à l’aide de Java.

// Charger un fichier Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Accéder à la première feuille de calcul du fichier Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Obtenir toutes les cellules dans CellCollections
Cells cells = worksheet.getCells();

// Initialiser FindOptions
FindOptions findOptions = new FindOptions();

// Trouver la cellule contenant une valeur de chaîne
findOptions.setLookAtType(LookAtType.ENDS_WITH);
Cell cell = cells.find("any", null, findOptions);

// Afficher le nom de la cellule et sa valeur
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

Rechercher du texte contenant des lettres spécifiques

Nous pouvons rechercher n’importe quelle valeur de texte contenant une sous-chaîne spécifique en suivant les étapes mentionnées ci-dessus. Cependant, nous avons juste besoin de définir LookAtType comme “CONTAINS”.

L’exemple de code suivant montre comment rechercher un texte contenant “comp” dans un fichier Excel à l’aide de Java.

// Charger un fichier Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Accéder à la première feuille de calcul du fichier Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Obtenir toutes les cellules dans CellCollections
Cells cells = worksheet.getCells();

// Initialiser FindOptions
FindOptions findOptions = new FindOptions();

// Trouver la cellule contenant une valeur de chaîne
findOptions.setLookAtType(LookAtType.CONTAINS);
Cell cell = cells.find("comp", null, findOptions);

// Afficher le nom de la cellule et sa valeur
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

Rechercher avec une expression régulière dans Excel à l’aide de Java

Nous pouvons également rechercher une valeur de cellule à l’aide d’expressions régulières en suivant les étapes mentionnées ci-dessus. Cependant, nous avons juste besoin de définir la Regex Key sur true et le LookAtType sur “CONTAINS”.

L’exemple de code suivant montre comment rechercher du texte à l’aide d’une expression régulière dans un fichier Excel à l’aide de Java.

// Charger un fichier Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Accéder à la première feuille de calcul du fichier Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Obtenir toutes les cellules dans CellCollections
Cells cells = worksheet.getCells();

// Initialiser FindOptions
FindOptions findOptions = new FindOptions();

// Définissez-le comme Regex
findOptions.setRegexKey(true);
findOptions.setLookAtType(LookAtType.ENTIRE_CONTENT);
findOptions.setLookInType(LookInType.VALUES);
Cell cell = cells.find("[a-z]{1}[\\s]&[\\s][a-z]{1}", null, opt);

// Afficher le nom de la cellule et sa valeur
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
Rechercher avec une expression régulière dans Excel à l'aide de Java

Rechercher avec une expression régulière dans Excel en utilisant Java.

Recherche sensible à la casse dans Excel avec Java

Nous pouvons effectuer une opération de recherche et trouver toute chaîne de texte sensible à la casse en suivant les étapes mentionnées ci-dessus. Cependant, il nous suffit de définir la propriété CaseSensitive sur true.

L’exemple de code suivant montre comment rechercher un texte sensible à la casse dans un fichier Excel à l’aide de Java.

// Charger un fichier Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Accéder à la première feuille de calcul du fichier Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Obtenir toutes les cellules dans CellCollections
Cells cells = worksheet.getCells();

// Initialiser FindOptions
FindOptions findOptions = new FindOptions();

// Trouver la cellule contenant une formule
findOptions.setCaseSensitive(true);
findOptions.setLookAtType(LookAtType.CONTAINS);
Cell cell = cells.find("Ltd", null, findOptions);

// Afficher le nom de la cellule et sa valeur
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

Formule de recherche dans Excel à l’aide de Java

Nous pouvons rechercher une cellule contenant une formule dans un fichier Excel en suivant les étapes ci-dessous:

  • Tout d’abord, chargez un fichier Excel à l’aide de la classe Workbook.
  • Ensuite, accédez à la première feuille de calcul du fichier Excel.
  • Ensuite, récupérez les cellules de la feuille consultée.
  • Ensuite, créez une instance de la classe FindOptions.
  • Après cela, définissez LookInType sur “FORMULAS”.
  • Enfin, recherchez le texte à l’aide de la méthode Cells.find(). Il prend la chaîne de recherche et FindOptions comme arguments.

L’exemple de code suivant montre comment rechercher une cellule de formule dans un fichier Excel à l’aide de Java.

// Charger un fichier Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Accéder à la première feuille de calcul du fichier Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Obtenir toutes les cellules dans CellCollections
Cells cells = worksheet.getCells();

// Initialiser FindOptions
FindOptions findOptions = new FindOptions();

// Trouver la cellule contenant une formule
findOptions.setLookInType(LookInType.FORMULAS);
Cell cell = cells.find("=SUM(C2:C10)", null, findOptions);

// Afficher le nom de la cellule et sa valeur
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
Formule de recherche dans Excel en utilisant Java.

Formule de recherche dans Excel en utilisant Java.

Obtenez une licence gratuite

Veuillez essayer l’API sans limitation d’évaluation en demandant une licence temporaire gratuite.

Conclusion

Dans cet article, nous avons appris comment rechercher du texte ou des formules dans Excel à l’aide de Java. Plus précisément, nous avons appris comment rechercher n’importe quel texte dans Excel qui commence, se termine ou contient des lettres spécifiques par programmation. Nous avons également vu comment effectuer une recherche à l’aide d’expressions régulières dans des fichiers Excel. En outre, vous pouvez en savoir plus sur l’API Aspose.Cells for Java en utilisant la documentation. En cas d’ambiguïté, n’hésitez pas à nous contacter sur le forum.

Voir également