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
FileInputStreampara leer el archivo Excel especificado por la ruta. - Determinación del Tipo de Archivo: Dependiendo de la extensión del archivo (
.xlso.xlsx), se carga el archivo usandoHSSFWorkbookoXSSFWorkbook. - 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!
¿QUÉ TE HA PARECIDO EL ARTÍCULO? Danos tu opinión al final de la página.
Deja tu comentario y ayúdanos a crecer.
¡SÍGUENOS EN TUS REDES FAVORITAS!
AYUDANOS A CRECER Y QUE LLEGUEMOS A TODAS LAS PERSONAS QUE NOS NECESITANA. SÍGUENOS EN TUS REDES.
Entra AQUÍ y elíge donde seguirnos.

NUESTRAS ÚLTIMAS PUBLICACIONES
- Propuestas de actividades avanzadas con XML, DTD, XPath y XSLT
- Apuntes extensos de XML y XSLT
- El momento IDEAL para impulsar tu FORMACIÓN y alcanzar tus Metas Académicas: LAS NAVIDADES.

- 20 ejercicios de funciones avanzadas en Python (al estilo de Ackermann)
- Cómo guardar una página web completa en MySQL con PHP (urlencode, BLOB y otras técnicas)
- 60 ejercicios de funciones recursivas en Python para la carrera de Informática
- SIMULACRO 2 – FP Programación de Videojuegos
- Simulacro de examen – FP Programación de Videojuegos
- ALERTA METEOROLÓGICA

ELIGE TU RED FAVORITA Y SÍGUENOS.
AYUDANOS A CRECER Y A LLEGAR A TODAS LAS PERSONAS QUE NOS NECESITAN.
Contenido restringido





































































































































































































































































INFORMACIÓN SOBRE 







Comments are closed