java

Escribir archivo de Excel con Java

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:

See the gist on github.

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:

See the gist on github.

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:

See the gist on github.

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:

See the gist on github.

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

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:

See the gist on github.

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:

See the gist on github.

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

See the gist on github.

El resultado es el siguiente:

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

Poniendo todo junto

Ya para terminar te dejo el código completo:

See the gist on github.

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.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
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/

Ver comentarios

  • Hola! Quiero hacer para hacer un link que dirija a un xls descargable. Al hacer una búsqueda, me muestra en 1 tabla las filas encontradas (variable) y quiero poner 1 xls que almacene en cada fila del xls, una linea de la tabla!
    muchas gracias!

  • 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

Compartir
Publicado por
parzibyte

Entradas recientes

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

14 horas hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

1 día hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

1 día hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

2 días hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

1 semana hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

1 semana hace

Esta web usa cookies.