Saludos lectores, el siguiente post te ayudara a saber como exportar datos desde Java a Excel lo cual es extremadamente sencillo pero vale la pena un ejemplito para estar claro.
JTable es un componente tabla en java y es muy usual al momento de usar archivos y ficheros y desplegar mucha informacion agrupada las preguntas de como exportarlo a un formato comun como xls. Existen en realidad muchas maneras de hacerlos. Entre estos estan:
POI Jakarta
JXLS en Sourceforge
JExcel API
Este ultimo es el que utilizaremos en la clase que voy a explicar (por cierto acaba de salir la ultima version en mayo 28, 2009). Aqui estan los pasos a Seguir
Paso 1
Descargar el API de JExcel. Descomprimimos y encontraremos muchas cosas documentacion, src, build, pero nos interesa el
jxl.jar solamente; y Por supuesto agregarla a nuestro Classpath con el IDE con el flags -cp. (java -cp jxl.jar NombreClaseQueUsaJXL.java)
Paso 2:
Despues de completar el paso 1(daaa!!). Crear la clase y el constructor (por cierto con poca
cohesion pero por hoy hablamos de exportar :D). Asi que por el momento se vera asi:
Paso 3:
Ahora lo importante creamos un metodo export (bueno te imaginaras para que verdad?) y contendra los siguientes objetos:
DataOutputStream out nos sirve como un flujo de informacion, se coloca en la ruta del File que se le paso en el constructor.
WritableWorkbook w: es el que crea una hoja de trabajo de excel
WritableSheet s: una pagina donde colocar la informacion donde el nombreTab representa el nombre del Tab y el 0 el indice.
Hasta ahi por el momento.... se ve algo asi:
Estamos considerablemente bien los metodos de creacion del DataOutputStream son bastante basico y lo que representa es quien escribe los datos de salida (uyy redundante). Creamos una de esas hojas fancy de excel con el nombre y el indice de que hoja vamos a escribir. y Cerramos..... hasta ahora facillllllllllll
Paso 4:
Luego entre la creacion WritableSheet y antes de cerrar el WritableWorkbook hacemos lo que venimos hacer a escribir datos de una tabla Java a excel, entonces primero hacemos un ciclo que recorra cada columna, y despues uno anidado que recorra cada fila, (i==>columna && j ==> fila ok?). Utilizamos la clase label para colocarlo como etiqueta (pero existen otro tipo de clases para representaciones de Excel mas tipicas como Number, Date, etc); todo este palabrerio se traduce en:
Es util para agregar una celda, use la clase Label de import jxl.write.Label; (JExcel API).
Paso 5: Ultimo paso consiste en una miserable linea de codigo antes de cerrar el workbook y luego del ciclo for para escribir todo lo que colocamos en la hoja asi:
Ahhh no crees que sea posible descargate el
codigo (tiene un ejemplito del proyectito hecho en Netbean una tabla que al iniciar el programa se almacena con el nombre de java.xls. La ventaja ya tiene el codigo antes hablado. Y hasta aqui por el momento hasta la proxima.
Para
importar de un archivo de excel a un JTable.
Tambien para
Exportar multiples tablas a multiples hojas