COMPARTE ESTE ARTÍCULO

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

  1. Importación de Bibliotecas: Se importan las clases necesarias de Apache POI para trabajar con archivos Excel.
  2. Carga del Archivo Excel: Utiliza FileInputStream para leer el archivo Excel especificado por la ruta.
  3. Determinación del Tipo de Archivo: Dependiendo de la extensión del archivo (.xls o .xlsx), se carga el archivo usando HSSFWorkbook o XSSFWorkbook.
  4. 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

INSTAGRAM

TIKTOK


 …Y PRONTO MUCHAS MÁS

AYUDANOS A CRECER Y A LLEGAR A TODAS LAS PERSONAS QUE NOS NECESITAN.

Contenido restringido

Acceso de usuarios existentes
   
Registro de un nuevo usuario
*Campo necesario

Tags:

Comments are closed

Estado de acceso
ESTADO DE ACCESO
TRADUCTORES
COMPARTENOS
error: CONTENIDO PROTEGIDO