En el tutorial de hoy veremos cómo crear un archivo de Excel (xlsx) con Java, usando la librería Apache POI que es la más antigua pero a su vez la más estable.

Yo usaré maven como gestor de dependencias y NetBeans como IDE, pero recuerda que al final estarás programando en Java así que puedes usar las herramientas de tu preferencia.

Importando librerías para escribir xlsx

Para escribir en un archivo de Excel con Java primero debemos agregar las dependencias a nuestro proyecto. Para ello agregamos las siguientes al apartado de dependencias en nuestro pom.xml:

Fíjate que estoy usando las mismas versiones de poi-ooxml y poi. Lo hago así porque en caso contrario se generaban algunos errores.

Recuerda que puedes ver las últimas versiones de las librerías en https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml y https://mvnrepository.com/artifact/org.apache.poi/poi

Solo como referencia, así se ve todo mi pom.xml:

Crear libro de Excel con Java

Vayamos al código. Esto lo puedes usar en cualquier lugar ya que al final es Java; yo lo he hecho simplemente en una aplicación de consola.

Comenzamos importando lo necesario:

Necesitamos File y esas cosas para escribir nuestro archivo o Workbook en el disco duro.

Luego estamos importando cosas de la librería como Cell (para celdas), Row (para filas), Sheet (hojas), etcétera.

Ahora veamos el siguiente código que realmente crea un libro de trabajo y luego lo escribe:

Creamos un libro en la línea 1, y creamos una hoja en la línea 3. Luego trabajamos todas las celdas y filas sobre esa hoja, si tú quieres puedes crear más hojas e ir agregando filas y celdas a la misma.

Fíjate en que una hoja tiene varias filas y que debes obtener referencia a cada una de ellas a través de su índice para crear celdas.

En la línea 6 estoy escribiendo realmente dentro de la celda, y después en la línea 13 escribimos el archivo en el directorio actual con el nombre definido en la 2.

Libro de Excel creado con Java

En el directorio donde el código se ejecuta ahora estará un archivo XLSX que creamos fácilmente con Java. En mi caso se ve así:

Libro de Excel creado con Java y Apache POI

Libro de Excel creado con Java y Apache POI

Fíjate en que se está respetando el nombre del archivo y de la hoja, además del contenido.

Código completo

Veamos todo el código que necesitamos para crear este archivo de Excel con Java:

Nota: recuerda que tú puedes manejar las excepciones en la manera que creas conveniente.

Bonus: escribir datos dinámicos en archivo de Excel

Te voy a mostrar cómo crear un xlsx con Java pero usando datos de un ArrayList, de este modo verás que es fácil escribir datos de manera dinámica traídos desde una base de datos o de cualquier otro lugar.

Lo he colocado en un método estático para separar el concepto pero tener ambas cosas en un mismo archivo. Definimos la clase del ArrayList:

Y luego tenemos el método que escribe, dinámicamente, un archivo de Excel con Java:

El resultado es el siguiente:

Archivo de Excel creado con Java y un ArrayList (Datos dinámicos)

Archivo de Excel creado con Java y un ArrayList (Datos dinámicos)

Poniendo todo junto

Ya para terminar te dejo el código completo:

Espero que a partir de estos ejemplos puedas lograr lo que necesitas, ya sea guardar los datos de una base de datos, de cosas solicitadas al usuario o cualquier otra cosa.

Por aquí te dejo el proyecto en GitHub y en este enlace puedes leer más tutoriales de Java.


Estoy disponible para trabajar en tu proyecto o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.
Si el post fue de tu agrado muestra tu apoyo compartiéndolo, suscribiéndote al blog, siguiéndome o realizando una donación.

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Únete a otros 5,208 suscriptores


parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

1 Comentario

jarci · junio 8, 2022 a las 1:42 pm

pregunta… hace falta algo en el código, porque me aparece el siguiente mensaje:

Unexpected element “{http://maven.apache.org/POM/4.0.0}project” {antlib:org.apache.tools.ant}project

Deja un comentario

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada.

A %d blogueros les gusta esto: