Foros del Web » Programación para mayores de 30 ;) » Java »

Cargando Excel con Apache POI

Estas en el tema de Cargando Excel con Apache POI en el foro de Java en Foros del Web. Hola a todos, Veréis, tengo que cargar una Excel con un objeto cargado con datos que recupero de una consulta a bbdd. La excel tiene ...
  #1 (permalink)  
Antiguo 14/06/2011, 05:45
 
Fecha de Ingreso: mayo-2009
Mensajes: 2
Antigüedad: 14 años, 11 meses
Puntos: 0
Cargando Excel con Apache POI

Hola a todos,

Veréis, tengo que cargar una Excel con un objeto cargado con datos que recupero de una consulta a bbdd. La excel tiene unas acciones establecidas (como generar unas gráficas a partir de los datos a través de controles ActiveX insertados). La excel lleva bastante miga por dentro, incluyendo código VBA, por lo que necesitaría cargar los datos en ella, usándola como plantilla.

He pensado en usar la librería POI de Apache para insertar los datos en la excel, pero no se como utilizarla teniendo en cuenta que debo cargar los datos en esa plantilla.

¿Alguien puede echarme un cable?.
Gracias :)
  #2 (permalink)  
Antiguo 14/06/2011, 08:07
 
Fecha de Ingreso: mayo-2011
Mensajes: 79
Antigüedad: 12 años, 11 meses
Puntos: 14
Respuesta: Cargando Excel con Apache POI

Qeu tal crome a ver si te vale con:

[URL="http://onjava.com/pub/a/onjava/2003/04/16/poi_excel.html"]http://onjava.com/pub/a/onjava/2003/04/16/poi_excel.html[/URL]

[URL="http://www.docstoc.com/docs/271809/Java---C%C3%B3mo-generar-Hojas-de-Excel-con-Apache-POI"]http://www.docstoc.com/docs/271809/Java---C%C3%B3mo-generar-Hojas-de-Excel-con-Apache-POI[/URL]

La idea sería tener la plantilla, hacerte una copia como un fichero mas con el api java.io.File, y abrirla con POI, leer la sheet que tengas donde vas a insertar los datos y meterlos, nada más.
__________________
Web Admin:
http://www.coretec.es
Tutoriales, Noticias y Recursos Liferay y J2EE
  #3 (permalink)  
Antiguo 14/06/2011, 10:09
Avatar de jhonmelguizo  
Fecha de Ingreso: enero-2008
Ubicación: Medellín - Colombia
Mensajes: 264
Antigüedad: 16 años, 3 meses
Puntos: 6
De acuerdo Respuesta: Cargando Excel con Apache POI

Cita:
Iniciado por crome Ver Mensaje
Hola a todos,

Veréis, tengo que cargar una Excel con un objeto cargado con datos que recupero de una consulta a bbdd. La excel tiene unas acciones establecidas (como generar unas gráficas a partir de los datos a través de controles ActiveX insertados). La excel lleva bastante miga por dentro, incluyendo código VBA, por lo que necesitaría cargar los datos en ella, usándola como plantilla.

He pensado en usar la librería POI de Apache para insertar los datos en la excel, pero no se como utilizarla teniendo en cuenta que debo cargar los datos en esa plantilla.

¿Alguien puede echarme un cable?.
Gracias :)
Hola crome,

Podrías hacer un archivo de excel que genere POI con los datos que traes de la bd, aparte tienes la plantilla con un código VBA que copie la hoja o los datos que están en el otro archivo generado por POI, o también lo puedes hacer todo en la misma plantilla y con el mismo POI abrir la plantilla, ubicarse en la hoja y llevar los datos.

Yo he hecho algo parecido, lo que hago es crear un archivo de excel y llevarle datos de una consulta de bd con la ayuda de POI, te muestro un ejemplo:

Código JAVA:
Ver original
  1. /**
  2.      * Exporta un archivo de excel desde una consulta sql
  3.      * @param SQL
  4.      * @param nomArch
  5.      */
  6.     public void generarArchivo(String SQL, String nomArch){
  7.         try{
  8.         HSSFWorkbook wb = new HSSFWorkbook();
  9.         HSSFSheet sheet = wb.createSheet("Resultado Filtro");
  10.         HSSFRow rowhead = sheet.createRow(0);
  11.         BaseDatos Datos = new BaseDatos(SQL,true);
  12.        
  13.         for(int i = 0; i < Datos.getColumnCount(); i++){
  14.             rowhead.createCell(i).setCellValue(Datos.getColumnName(i));
  15.         }
  16.  
  17.         for(int fil=1; fil<Datos.getRowCount(); fil++){
  18.                 HSSFRow row = sheet.createRow(fil);
  19.             for(int col=0; col<Datos.getColumnCount(); col++){
  20.                 try{
  21.                     row.createCell(col).setCellValue(Datos.getValueAt(fil-1, col).toString());
  22.                 }catch(Exception e){
  23.                     row.createCell(col).setCellValue("");
  24.                 }
  25.             }
  26.         }
  27.  
  28.         FileOutputStream fileOut = new FileOutputStream("c:\\"+nomArch+".xls");
  29.         wb.write(fileOut);
  30.         fileOut.close();
  31.  
  32.         //Ejecutar archivo de excel
  33.         Runtime.getRuntime().exec("cmd /c start C:\\"+nomArch+".xls");
  34.  
  35.         }
  36.         catch(Exception e){
  37.             javax.swing.JOptionPane.showMessageDialog
  38.                     (null, "Error al exportar la consulta: " + e);
  39.         }
  40.     }

Saludos...
__________________
¡No competimos, compartimos!...

Etiquetas: apache, cargando, excel, poi
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:06.