martes, 14 de julio de 2009

Bordes de Celdas con Jasperreport 3

En este pequeño post les dare un tip de como ver los bordes de las celdas cuando generamos un reporte en excel con jasperreport, este es el trozo de codigo donde les explicare las propiedades,

String reportSource = "report.jasper";

 HashMap parameters= new HashMap();

//Esta propiedad es para que  todo el reporte se genere en sin espacios entre paginas de una misma hoja
  parameters.put(JRParameter.IS_IGNORE_PAGINATION, true);
  JasperReport jasperReport = (JasperReport) JRLoader.loadObject(reportSource);
  JasperPrint jasperPrint =
  JasperFillManager.fillReport(jasperReport, parameters, connection);

//Aqui generamos  la clase para generar el reporte a excel
  JExcelApiExporter exporter = new JExcelApiExporter();

//le pasamos algunos parametros
  exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
  exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, tempFile);

//este parametro es para decirle que todo el reporte se genera en una sola  hoja de excel
  exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, false);

//con este le decimos que  detecte el tipo de celda.
  exporter.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE, true);

//El siguiente es para decirle que no ignore los bordes de las celdas, y el ultimo es para que no use un fondo blanco, con estos dos parametros jasperreport genera la hoja de excel con los bordes de las celdas.

  exporter.setParameter(JRXlsExporterParameter.IS_IGNORE_CELL_BORDER, false);
  exporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, false);


  exporter.exportReport();

Yo uso jasperreport 3, suerte !! 

4 comentarios:

ruandischer tee dijo...

No estoy seguro de si los asuntos caso, pero asegúrese de que el valor de los atributos de los marcadores de su elemento TextElement en su JRXML se establece en "html". El objetivo del atributo marcado es dar formato al texto con HTML, que pretende convertir el texto en negrita, cursiva, color de fuente o cambiar el tamaño, etc Crear una tabla no es lo que este atributo es.

Unknown dijo...

Pregunto: este codigo sirve para que pueda mostrar todos los registros de manera continua en excel?

neo_lestat dijo...

Que tal Kmartel para mostrar todos los registros de manera continua tines que tener solo la parte de detail, ya que si tienes por ejemplo colum headers estas apareceran cada que se genera una hoja, te aconsejo que pruebes solo con el detail y no dejes espacios entre los campos del reporte para que no te genere combinaciones de celdas, saludos

Unknown dijo...

entendido.. Te cuento que estoy usando una Tabla, ella toma un dataset y me hace la cuadricula, me parece practico. lo has usado? o que me recomiendas. Uso Ireport 3.7.2