Introducción
Leer ficheros Excel en aplicaciones Java es una tarea común que puede ser realizada utilizando diferentes bibliotecas. Apache POI es una de las APIs más populares y robustas para este propósito. En este artículo, te mostraré cómo leer archivos Excel (.xls y .xlsx) utilizando Apache POI, así como la configuración de Maven necesaria para incluir esta biblioteca en tu proyecto.
1. Configuración del Proyecto con Maven
Primero, asegúrate de tener Maven instalado y configurado en tu entorno de desarrollo. A continuación, crea un nuevo proyecto Maven o edita el archivo pom.xml
de tu proyecto existente para incluir las dependencias de Apache POI.
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>leer-excel</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.2.3</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.3</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
<version>5.1.1</version>
</dependency>
</dependencies>
</project>
2. Leer Ficheros Excel (.xls y .xlsx)
A continuación, se presenta un código de ejemplo para leer tanto archivos Excel en formato .xls
como .xlsx
utilizando Apache POI.
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class LeerExcel {
public static void main(String[] args) {
String excelFilePath = "ruta/a/tu/archivo.xlsx"; // Cambia la ruta al archivo Excel que quieres leer
try {
FileInputStream fileInputStream = new FileInputStream(new File(excelFilePath));
Workbook workbook = null;
if (excelFilePath.endsWith(".xlsx")) {
workbook = new XSSFWorkbook(fileInputStream);
} else if (excelFilePath.endsWith(".xls")) {
workbook = new HSSFWorkbook(fileInputStream);
} else {
throw new IllegalArgumentException("El archivo especificado no es un archivo Excel");
}
Sheet sheet = workbook.getSheetAt(0); // Obtiene la primera hoja del archivo Excel
for (Row row : sheet) {
for (Cell cell : row) {
switch (cell.getCellType()) {
case STRING:
System.out.print(cell.getStringCellValue() + "\t");
break;
case NUMERIC:
if (DateUtil.isCellDateFormatted(cell)) {
System.out.print(cell.getDateCellValue() + "\t");
} else {
System.out.print(cell.getNumericCellValue() + "\t");
}
break;
case BOOLEAN:
System.out.print(cell.getBooleanCellValue() + "\t");
break;
default:
System.out.print(" \t");
break;
}
}
System.out.println();
}
workbook.close();
fileInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
3. Explicación del Código
- Importación de Bibliotecas: Se importan las clases necesarias de Apache POI para trabajar con archivos Excel.
- Carga del Archivo Excel: Utiliza
FileInputStream
para leer el archivo Excel especificado por la ruta. - Determinación del Tipo de Archivo: Dependiendo de la extensión del archivo (
.xls
o.xlsx
), se carga el archivo usandoHSSFWorkbook
oXSSFWorkbook
. - Lectura de Hojas y Celdas: Se obtiene la primera hoja del archivo Excel y se itera sobre cada fila y celda. Dependiendo del tipo de celda (String, Numérico, Booleano), se imprime su valor.
Conclusión
Leer archivos Excel desde Java es una tarea sencilla cuando se utiliza la biblioteca adecuada. Apache POI proporciona una API completa y fácil de usar para manejar tanto archivos .xls
como .xlsx
. Siguiendo los pasos y el código proporcionado en este artículo, deberías poder integrar la funcionalidad de lectura de Excel en tus propias aplicaciones Java sin problemas. ¡Feliz codificación!
… … …
¡Coméntanos que te ha parecido este artículo al final de la página!
TÚ OPINIÓN IMPORTA
![](https://academiasanroque.com/wp-content/uploads/2024/06/imagenacademiasanroque-33.jpg)
NUESTRAS ÚLTIMAS PUBLICACIONES
- Ejercicios Básicos de Java para la Manipulación de Archivos
- Prácticas Fundamentales en Java: Ejercicios de Manipulación de Archivos para Principiantes
- Ejercicios Básicos de Java: Fundamentos de Manipulación de Archivos
- Introducción a la Manipulación de Archivos en Java: Ejercicios Prácticos para Principiantes
- Fundamentos de Java: Ejercicios Básicos para Principiantes en Manipulación de Archivos
- Ejercicios Introductorios de Java: Mejorando el Manejo de Archivos y la Comprensión de Datos
- Ejercicios Básicos de Java para Fortalecer la Manipulación de Archivos y Análisis de Datos
- Ejercicios de Programación en Java: Reforzando Habilidades en Manejo de Archivos y Procesamiento de Datos
- Ejercicios Avanzados en Java: Dominando la Manipulación de Archivos y Estructuras de Datos
Contenido restringido
Comments are closed