Los archivos de MS Excel se utilizan en gran medida para mantener datos tabulares en forma de hojas de trabajo. A menudo, los grandes conjuntos de datos también se mantienen en archivos de Excel. Por lo tanto, puede encontrarse con el escenario en el que necesita leer y obtener datos de las hojas de trabajo en un archivo de Excel. Para lograrlo, este artículo muestra cómo leer un archivo de Excel en Java. Demostraremos cómo leer todo el archivo de Excel o solo una hoja de trabajo mediante programación.
- Biblioteca Java para leer archivos de Excel
- Leer datos de un archivo de Excel
- Leer una hoja de cálculo en un libro de Excel
Biblioteca Java para leer archivos de Excel
Para leer datos de las hojas de trabajo, usaremos Aspose.Cells for Java. Es una API de manipulación de hojas de cálculo para crear archivos de Excel desde cero. Además, le permite leer y manipular archivos de Excel existentes con bastante facilidad. La API puede descargarse desde la sección de descargas o instalarse agregando las siguientes configuraciones de Maven en pom.xml.
<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>21.11</version>
</dependency>
Leer un archivo de Excel en Java
En los archivos de Excel, los datos se almacenan en celdas donde cada celda se identifica por su nombre (A1, B3, etc.) o el índice de fila y columna. Estas celdas forman colectivamente una hoja de cálculo y un archivo de Excel se compone de una o varias hojas de cálculo. Todas las hojas de trabajo están contenidas en un Workbook. Esta fue una breve descripción de la estructura de un archivo de Excel. Procedamos ahora a leer datos de un archivo de Excel.
Los siguientes son los pasos para leer un archivo de Excel e imprimir sus datos usando Java.
- Cargue el archivo de Excel usando la clase Workbook.
- Cree un objeto de la clase WorksheetCollection y obtenga la referencia de las hojas de trabajo usando el método Workbook.getWorksheets().
- Inicie un bucle para recorrer todas las hojas de trabajo de la colección y, en cada iteración, realice los siguientes pasos:
- Obtenga la referencia de la hoja de trabajo en un objeto Worksheet.
- Obtenga el recuento de filas y columnas de datos en la hoja de cálculo.
- Inicie un bucle para las filas.
- Inicie un bucle anidado para columnas.
- Lea los datos de cada celda usando el método Worksheet.getCells().get(rowIndex, columnIndex).getValue().
El siguiente ejemplo de código muestra cómo leer un archivo de Excel en Java.
// Cargar archivo de Excel
Workbook wb = new Workbook("workbook.xlsx");
// Obtener todas las hojas de trabajo
WorksheetCollection collection = wb.getWorksheets();
// Recorra todas las hojas de trabajo
for (int worksheetIndex = 0; worksheetIndex < collection.getCount(); worksheetIndex++) {
// Obtener hoja de trabajo usando su índice
Worksheet worksheet = collection.get(worksheetIndex);
// Imprimir el nombre de la hoja de trabajo
System.out.print("Worksheet: " + worksheet.getName());
// Obtener el número de filas y columnas
int rows = worksheet.getCells().getMaxDataRow();
int cols = worksheet.getCells().getMaxDataColumn();
// Bucle a través de filas
for (int i = 0; i < rows; i++) {
// Recorra cada columna en la fila seleccionada
for (int j = 0; j < cols; j++) {
// Valor de la celda de impresión
System.out.print(worksheet.getCells().get(i, j).getValue() + " | ");
}
// Salto de línea de impresión
System.out.println(" ");
}
}
El siguiente es el resultado que obtenemos en la consola después de ejecutar el ejemplo de código anterior.
Leer una hoja de trabajo particular en Excel en Java
También puede leer solo una hoja de trabajo en particular en el archivo de Excel siguiendo los pasos a continuación.
- Cargue el archivo de Excel usando la clase Workbook.
- Obtenga la referencia de la hoja de trabajo deseada en un objeto Worksheet usando el método Workbook.getWorksheets().get(index).
- Obtenga el recuento de filas y columnas de datos en la hoja de cálculo.
- Inicie un bucle para las filas.
- Inicie un bucle anidado para columnas.
- Lea los datos de cada celda usando el método Worksheet.getCells().get(rowIndex, columnIndex).getValue().
El siguiente ejemplo de código muestra cómo leer datos de una hoja de trabajo particular en Java.
// Cargar archivo de Excel
Workbook wb = new Workbook("workbook.xlsx");
// Obtener la referencia de la hoja de trabajo
Worksheet worksheet = wb.getWorksheets().get(0);
// Obtener el recuento de filas y columnas
int rows = worksheet.getCells().getMaxDataRow();
int cols = worksheet.getCells().getMaxDataColumn();
// Bucle a través de filas
for (int i = 0; i < rows; i++) {
// Recorra cada columna en la fila seleccionada
for (int j = 0; j < cols; j++) {
// Imprimir valor de celda
System.out.print(worksheet.getCells().get(i, j).getValue() + " | ");
}
// Salto de línea de impresión
System.out.println(" ");
}
Obtenga una licencia de API gratuita
Puede usar Aspose.Cells for Java sin limitaciones de evaluación al obtener una licencia temporal gratuita.
Conclusión
En este artículo, ha aprendido a leer archivos de Excel de forma dinámica en Java. Con la ayuda de ejemplos de código, ha visto cómo leer datos de una hoja de cálculo en particular o de todas las hojas de cálculo de un libro de Excel. Además, puede explorar otras características de Aspose.Cells for Java utilizando la documentación. En caso de que tenga alguna consulta, no dude en hacérnosla saber a través de nuestro foro.