Ejemplo sencillo de como crear un excel en Java con Apache POI

Publicado por pico.dev el .
blog-stack java planeta-codigo programacion
Comentarios

Java

La librería Apache POI nos permite acceder y crear documentos del producto ofimático Microsoft Office utilizando el lenguaje de programación Java y otros del ecosistema de la JVM. Los archivos que podemos crear y leer son documentos Word, Excel y Powerpoint.

En casi todas las aplicaciones hay necesidad de exportar los datos que maneja la aplicación a algún tipo de documento, un formato muy utilizado es el PDF sobre todo si el documento está destinado a imprimirse pero que no es el más adecuado si requiere modificaciones posteriores o contiene datos numéricos con cálculos. El formato de Excel también es muy utilizado por sus posibilidades para agrupar los datos, agregar, filtrar, hacer cálculos con funciones matemáticas, financieras o de otro tipo. Aunque si es posible es mejor utilizar un formato de documento abierto para no quitarle libertad al usuario para elegir el software que prefiera, el programa ofimático Microsoft Office sigue estando muy extendido con lo que puede que no tengamos otro remedio que utilizar como formato para exportar los datos uno propietario. En este artículo comentaré como crear un documento excel sencillo usando la librería Apache POI y el lenguaje Java.

Para trabajar con archivos xls de Excel debemos usar las clases HSSFWorkbook, HSSFSheet, HSSFRow, HSSFCell ofrecidas en la API de Apache PIO. Para crear el excel se crea una instancia de HSSFWorkbook, una o varias hojas que se corresponden con las instancias de HSSFSheet y en cada hoja se pueden acceder a las filas y celdas con createRow en la hoja y con createCell en la fila. Con el método setCellValue establecemos el valor de la celda, este método está sobrecargado y podemos establecer valores boolean, Calendar, Date, double, RichTextString o String. Hay otros métodos para cambiar los estilos de la celda con setCellStyle, setHyperlink para insertar un enlace o setCellFormula para crear una fórmula que realice algún cálculo con los datos de las celdas.

El siguiente ejemplo crea documento excel con varios datos, aplicando estilos a las cabeceras y una fórmula con el total de los precios de una lista de productos, al final escribe el excel en un archivo. En el archivo de construcción, en este caso de Gradle, debemos incluir la dependencia de la librería de Apache POI.

LibreOffice tiene la capacidad de abrir documentos excel, en la siguiente imagen se ve el documento abierto con LibreOffice Calc creado en el ejemplo.

Excel generado con Apache POI abierto con LibreOffice

En la guía de iniciación a las características de los documentos HSSF y XSSF hay ejemplos pequeños sobre varias de las funcionalidades más comunes que necesitaremos al generar documentos.

El código fuente completo del ejemplo puedes descargarlo del repositorio de ejemplos de Blog Bitix alojado en GitHub y probarlo en tu equipo ejecutando el comando ./gradlew run.

Yo apoyo al software libre