Buscar datos en Excel usando Java

Las hojas de cálculo de Excel permiten almacenar una gran cantidad de datos en forma tabular. En ciertos casos, es posible que necesitemos buscar celdas que contengan valores de datos específicos o cadenas de datos almacenados. Aunque Excel proporciona una funcionalidad integrada para buscar en todas las hojas de cálculo, es posible que necesitemos realizar la operación de búsqueda mediante programación en aplicaciones Java. En este artículo, aprenderemos cómo buscar datos en Excel usando Java.

En este artículo se tratarán los siguientes temas:

API de Java para buscar datos en Excel

Usaremos Aspose.Cells for Java API para realizar la operación de búsqueda en el archivo XLSX. Permite realizar funciones de automatización de Excel mediante programación sin necesidad de una aplicación de Microsoft Excel. Descargue el JAR de la API o simplemente agregue la siguiente configuración pom.xml en una aplicación Java basada en 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>

Encuentra texto específico en Excel usando Java

Podemos buscar cualquier valor de texto, número o fecha en un archivo de Excel siguiendo los pasos que se detallan a continuación:

  • En primer lugar, cargue un archivo de Excel usando la clase Libro de trabajo.
  • Luego, acceda a la primera hoja de trabajo en el archivo de Excel.
  • Luego, obtenga celdas de la hoja a la que accedió.
  • A continuación, cree una instancia de la clase FindOptions.
  • Después de eso, configure LookAtType como “ENTIRECONTENT”.
  • Finalmente, encuentre el texto usando el método Cells.find(). Toma, cadena de búsqueda y FindOptions como argumentos.

El siguiente ejemplo de código muestra cómo encontrar un texto específico en un archivo de Excel usando Java.

// Cargar un archivo de Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Acceda a la primera hoja de trabajo en el archivo de Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Obtenga todas las celdas en CellCollections
Cells cells = worksheet.getCells();

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

// Encuentra la celda que contiene un valor de cadena
findOptions.setLookAtType(LookAtType.ENTIRE_CONTENT);
Cell cell = cells.find("A Company", null, findOptions);

// Mostrar el nombre de la celda y su valor
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
Encuentra texto específico en Excel usando Java

Encuentre texto específico en Excel usando Java.

Buscar texto que comience con letras específicas

Podemos buscar cualquier valor de texto que comience con letras específicas siguiendo los pasos mencionados anteriormente. Sin embargo, solo necesitamos configurar LookAtType como “COMENZAR CON”.

El siguiente ejemplo de código muestra cómo encontrar un texto específico que comienza con la letra “H” en un archivo de Excel usando Java.

// Cargar un archivo de Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Acceda a la primera hoja de trabajo en el archivo de Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Obtenga todas las celdas en CellCollections
Cells cells = worksheet.getCells();

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

// Encuentra la celda que contiene un valor de cadena
findOptions.setLookAtType(LookAtType.START_WITH);
Cell cell = cells.find("H", null, findOptions);

// Mostrar el nombre de la celda y su valor
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
Find Text Starting with Specific Letters.

Texto de búsqueda que termina con letras específicas

Podemos buscar cualquier valor de texto que termine con letras específicas siguiendo los pasos mencionados anteriormente. Sin embargo, solo necesitamos configurar LookAtType como “ENDWITH”.

El siguiente ejemplo de código muestra cómo encontrar un texto específico que termina con las letras “cualquiera” en un archivo de Excel usando Java.

// Cargar un archivo de Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Acceda a la primera hoja de trabajo en el archivo de Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Obtenga todas las celdas en CellCollections
Cells cells = worksheet.getCells();

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

// Encuentra la celda que contiene un valor de cadena
findOptions.setLookAtType(LookAtType.ENDS_WITH);
Cell cell = cells.find("any", null, findOptions);

// Mostrar el nombre de la celda y su valor
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

Buscar texto que contenga letras específicas

Podemos buscar cualquier valor de texto que contenga una subcadena específica siguiendo los pasos mencionados anteriormente. Sin embargo, solo necesitamos configurar LookAtType como “CONTIENE”.

El siguiente ejemplo de código muestra cómo encontrar un texto que contiene “comp” en un archivo de Excel usando Java.

// Cargar un archivo de Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Acceda a la primera hoja de trabajo en el archivo de Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Obtenga todas las celdas en CellCollections
Cells cells = worksheet.getCells();

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

// Encuentra la celda que contiene un valor de cadena
findOptions.setLookAtType(LookAtType.CONTAINS);
Cell cell = cells.find("comp", null, findOptions);

// Mostrar el nombre de la celda y su valor
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

Buscar con expresión regular en Excel usando Java

También podemos buscar un valor de celda usando expresiones regulares siguiendo los pasos mencionados anteriormente. Sin embargo, solo necesitamos establecer Regex Key en verdadero y LookAtType como “CONTIENE”.

El siguiente ejemplo de código muestra cómo buscar texto usando una expresión regular en un archivo de Excel usando Java.

// Cargar un archivo de Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Acceda a la primera hoja de trabajo en el archivo de Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Obtenga todas las celdas en CellCollections
Cells cells = worksheet.getCells();

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

// Definirlo como 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);

// Mostrar el nombre de la celda y su valor
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
Buscar con expresión regular en Excel usando Java

Buscar con expresión regular en Excel usando Java.

Búsqueda sensible a mayúsculas y minúsculas en Excel usando Java

Podemos realizar una operación de búsqueda y encontrar cualquier cadena de texto que distinga entre mayúsculas y minúsculas siguiendo los pasos mencionados anteriormente. Sin embargo, solo necesitamos establecer la propiedad CaseSensitive en verdadero.

El siguiente ejemplo de código muestra cómo encontrar un texto que distingue entre mayúsculas y minúsculas en un archivo de Excel usando Java.

// Cargar un archivo de Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Acceda a la primera hoja de trabajo en el archivo de Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Obtenga todas las celdas en CellCollections
Cells cells = worksheet.getCells();

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

// Encuentra la celda que contiene una fórmula
findOptions.setCaseSensitive(true);
findOptions.setLookAtType(LookAtType.CONTAINS);
Cell cell = cells.find("Ltd", null, findOptions);

// Mostrar el nombre de la celda y su valor
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());

Fórmula de búsqueda en Excel usando Java

Podemos buscar una celda que contenga una fórmula en un archivo de Excel siguiendo los pasos que se detallan a continuación:

  • En primer lugar, cargue un archivo de Excel usando la clase Libro de trabajo.
  • A continuación, acceda a la primera hoja de trabajo en el archivo de Excel.
  • Luego, obtenga celdas de la hoja a la que accedió.
  • A continuación, cree una instancia de la clase FindOptions.
  • Después de eso, configure LookInType como “FÓRMULAS”.
  • Finalmente, encuentre el texto usando el método Cells.find(). Toma, cadena de búsqueda y FindOptions como argumentos.

El siguiente ejemplo de código muestra cómo encontrar una celda de fórmula en un archivo de Excel usando Java.

// Cargar un archivo de Excel
Workbook workbook = new Workbook("C:\\Files\\Cells\\sample.xlsx");

// Acceda a la primera hoja de trabajo en el archivo de Excel
Worksheet worksheet = workbook.getWorksheets().get(0);

// Obtenga todas las celdas en CellCollections
Cells cells = worksheet.getCells();

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

// Encuentra la celda que contiene una fórmula
findOptions.setLookInType(LookInType.FORMULAS);
Cell cell = cells.find("=SUM(C2:C10)", null, findOptions);

// Mostrar el nombre de la celda y su valor
System.out.println("Name of the cell containing String: " + cell.getName());
System.out.println("the cell value is: " + cell.getValue());
Fórmula de búsqueda en Excel usando Java.

Fórmula de búsqueda en Excel usando Java.

Obtenga una licencia gratis

Pruebe la API sin limitaciones de evaluación solicitando una licencia temporal gratuita.

Conclusión

En este artículo, hemos aprendido a buscar texto o fórmulas en Excel usando Java. Específicamente, hemos aprendido cómo buscar cualquier texto en Excel que comience, termine o contenga letras específicas mediante programación. También hemos visto cómo buscar usando expresiones regulares en archivos de Excel. Además, puede obtener más información sobre Aspose.Cells para la API de Java utilizando la documentación. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también