Comunidad de diseño web y desarrollo en internet online

Diseñar un reporte en iReport

Hola, les traigo una sencilla guía de cómo diseñar un reporte en iReports usando como conexión, datos de una JTable y no de una conexión a la base de datos. iReport es un diseñador de reportes open source.

Lo primero es tener un modelo de una tabla, el cual convertiremos a un RTableModelDataSource:

Supongamos que tenemos una tabla con dos columnas las cuales se llaman Producto y Total:

Código :

TEstadisticas.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
TEstadisticas.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {},
new String [] {
"Producto", "Total"
}
) {
boolean[] canEdit = new boolean [] {
false, false
};

public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit [columnIndex];
}
});



Creamos el reporte:

Código :

JasperReport nuestroreporte = null;



Podemos agregar parametros usando un HashMap:

Código :

Map parametro = new HashMap();
parametro.put("ParametroenelReportetipoString", (String)parametroaagregardelmismotipoqueeldiseño);



Obtenemos el modelo de la tabla que será la conexión que enviaremos al reporte:

Código :

JRTableModelDataSource jrtmd = new JRTableModelDataSource( nuestratabla.getModel() );



Cargamos nuestro diseño:

Código :

nuestroreporte = (JasperReport) JRLoader.loadObject(rutadenuestroreporte);



Rellenamos el diseño pasándole como parámetros las variables anteriores:

Código :

JasperPrint jasperPrint = JasperFillManager.fillReport(nuestroreporte, p, jrtmd);


En el diseño del reporte sólo tenemos que agregar en el área de Fields los nombres de las columnas de la tabla y ponerlos en sus respectivos lugares en el diseño para que sean rellenados.

Estuve buscando en la web y no encontré información acerca de cómo diseñar esto, espero esto sirva a más de alguno.


Les dejo un preview del diseño (algo sencillo):

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate