lunes, 15 de noviembre de 2010

Exportar JTable a Excel (Multiples hojas Multiples tablas)

Siguiendo las cronicas de exportaciones a archivos de Java, en este post es una extension de la exportacion de tablas a excel desde Java y nace a partir de la necesidad de respuesta a un comentario de como realizar una exportacion de tablas a diferentes hojas con JXL. Los cambios realizados son bastantes sencillos:



#1 Agrupar en listas las tablas a exportar

Un boton para exportar que coloca los JTable en una lista y con los respectivas nombres de las hojas en excel, y llama el metodo de exportar(excelExporter.export()) de la clase ExcelTableExporter.

List<JTable> tables = new ArrayList<JTable>();
List<String> sheetsName = new ArrayList<String>();
tables.add(tablaGeneral);
tables.add(tablaInfo);
sheetsName.add("General");
sheetsName.add("Info");
ExcelTableExporter excelExporter = new ExcelTableExporter
(tables, new File("exportar.xls"), sheetsName);
if (excelExporter.export()) {
JOptionPane.showMessageDialog(null, "Exportado con exito!");
}

#2 Agregar listas en ExcelTableExporter

Para realizar esto es muy sencillo envolmemos los objetos en listas.

DataOutputStream out = new DataOutputStream(
new FileOutputStream(file));

WritableWorkbook w = Workbook.createWorkbook(out);
for (int index=0;index <tables.size();index++) {
JTable table=tables.get(index);
WritableSheet s = w.createSheet(nombreTabs.get(index), 0);

for (int i = 0; i < table.getColumnCount(); i++) {
 for (int j = 0; j < table.getRowCount(); j++) {
  Object objeto = table.getValueAt(j, i);
  s.addCell(new Label(i, j, String.valueOf(objeto)));
 }
}
}
w.write();
w.close();
out.close();

Al final se ve algo asi:



Puedes bajar el proyecto en 4shared  ó en rapidshared al igual que el anterior esta en NetBeans.


viernes, 5 de noviembre de 2010

Android 2.3 Noviembre 11

Ya huele a Gingerbread, parece que saldra del horno en noviembre 11 segun cuentan en intomobile una fuente confiable asegura que tendremos la nueva version del SDK listo para darse gusto. Hace un par de semanas se sabia que algo se estaba horniando desde que la escultura de Gingerbread se unio a Froyo y cupcake en el campus de Google(homenaje a versiones previas).