Está en la página 1de 2

Crear archivo Excel desde Java con POI

En este ejemplo vamos a crear una hoja Excel desde Java usando la librera POI. Para ello, lo primero es descargarse la librera POI desde su pgina de descargas http://www.apache.org/dyn/closer.cgi/poi/ Una vez descargada y desempaquetada, tendremos una serie de jars que deberemos aadir a nuestro proyecto Java o a nuestro CLASSPATH. En el momento de escribir este ejemplo, los jar obtenidos eran

poi-3.0.2-FINAL-20080204.jar poi-scratchpad-3.0.2-FINAL-20080204.jar poi-contrib-3.0.2-FINAL-20080204.jar

Estando todo preparado, ya podemos escribir nuestro programa Java. Lo primero de todo, es crear lo que en Excel se conoce como un libro de trabajo (workbook). Este ser nuestro "Excel".
HSSFWorkbook libro = new HSSFWorkbook();

Un libro de trabajo tiene hojas, as que debermos aadir al menos una hoja
HSSFSheet hoja = libro.createSheet();

A la hoja debemos aadirle las filas que deseemos. Para nuestro ejemplo, nos bastar con una. La numeracin empieza en cero.
HSSFRow fila = hoja.createRow(0);

Finalemente, a la fila debemos aadirle la celda/columna que queramos usar. Nuevamente, el ndice empieza en cero, pero esta vez admite short y no int.
HSSFCell celda = fila.createCell((short)0);

Una vez que tenemos la celda, ya slo nos resta escribir en ella lo que queramos: una frmula, un nmero, un booleano, un texto, etc. Para ello usaremos los mtodos de la celda HSSFCell. En nuestro caso y por se el ms complejo, lo haremos para un String. El mtodo setCellValue(String) est obsoleto, as que usaremos el mtodo setCellValue(HSSFRichTextString), que vale para lo mismo pero admite un "texto rico", es decir, con distintas fuentes.
HSSFRichTextString texto = new HSSFRichTextString("hola mundo"); celda.setCellValue(texto);

Listo, ya tenemos una hoja de Excel muy sencilla con un "hola mundo" en la primera celda de la tabla. Slo nos queda grabar el fichero. Para ello, usamos el mtodo write() del HSSFWorkbook
try { FileOutputStream elFichero = new FileOutputStream("holamundo.xls"); libro.write(elFichero); elFichero.close(); } catch (Exception e) { e.printStackTrace(); }

Y ahora el cdigo completo para este ejemplo de Excel con Java y POI

package com.chuidiang.ejemplos.poi_excel; import java.io.FileOutputStream; import import import import import org.apache.poi.hssf.usermodel.HSSFCell; org.apache.poi.hssf.usermodel.HSSFRichTextString; org.apache.poi.hssf.usermodel.HSSFRow; org.apache.poi.hssf.usermodel.HSSFSheet; org.apache.poi.hssf.usermodel.HSSFWorkbook;

/** * Ejemplo sencillo de cmo crear una hoja Excel con POI * * @author chuidiang * */ public class EjemploCrearExcel { /** * Crea una hoja Excel y la guarda. * * @param args */ public static void main(String[] args) { // Se crea el libro HSSFWorkbook libro = new HSSFWorkbook(); // Se crea una hoja dentro del libro HSSFSheet hoja = libro.createSheet(); // Se crea una fila dentro de la hoja HSSFRow fila = hoja.createRow(0); // Se crea una celda dentro de la fila HSSFCell celda = fila.createCell((short) 0); // Se crea el contenido de la celda y se mete en ella. HSSFRichTextString texto = new HSSFRichTextString("hola mundo"); celda.setCellValue(texto); // Se salva el libro. try { FileOutputStream elFichero = new FileOutputStream("holamundo.xls"); libro.write(elFichero); elFichero.close(); } catch (Exception e) { e.printStackTrace(); } } }

Enlaces externos

http://poi.apache.org/hssf/quick-guide.html

Categoras: Herramientas y libreras | POI | Java