Cuando deseamos crear reportes con iReport de nuestro API de persistencia creado con DataClassG.
Seguimos estos pasos básicos:
Ir al sitio de Jasper
http://jasperforge.org/project/ireport
Descargar el plugin de NetBeans y la distribución para linux(esta al usaremos para obtener las librerias que agregaremos a nuestro proyecto).
Instalamos el plugin para NetBeans
En el Menú de NetBeans seleccionar Herramientas->Tools->Option->iReport ->Classpath.
Agregamos el JAR
Agregamos las librerias al proyecto. Esta las puedes encontrar en el directorio.
iReport-4.1.1->ireport->modules->ext
Listado de las librerias a incluir
Diseñar el Reporte
Creamos un paquete nuevo para almacenar los reportes
Nuevo->Report->Empty report
Colocamos el nombre usuarios. En el diseño
seleccionamos en la pestaña Reportes ->Reportes->Edit Query
Seleccionar JavaBean DataSource-> en Class name colocar el nombre del beans correspondiente al proyecto de persistencia.
En este ejemplo org.testpersistence.beans.Usuarios y presionar el
botón Read attributes y seleccionar los atributos cedula y nombre y presionar el botón Add selected field(s), de manera que aparezcan en la parte inferior.
Ahora se muestran los campos
Arrastramos a la banda de Detalles
Ahora compilamos el reporte
Invocaremos el Reporte
HashMap map = new HashMap();
Usuarios usuarios = new Usuarios();
UsuariosController uc = new UsuariosController();
if (uc.Listar()) {
t.Imprimir(uc.getUsuarioslist(), map);
} else {
System.out.println(" no se puede listar");
}
Creamos el metodo Imprimir()
private void Imprimir(List aux, HashMap map) throws JRException {
try {
JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(aux);
//Indicamos la ruta del reporte
InputStream reporte = (InputStream) getClass().getResourceAsStream("reportes/usuarios.jasper");
if (reporte == null) {
Mensajeria.Mensaje("No se pudo cargar el reporte");
} else {
JasperPrint print = JasperFillManager.fillReport(reporte, map, ds);
JasperViewer.viewReport(print, false);
}
} catch (Exception ex) {
Mensajeria.MensajeError(ex, "Imprimir()");
}
}
Reporte
Seguimos estos pasos básicos:
Ir al sitio de Jasper
http://jasperforge.org/project/ireport
Descargar el plugin de NetBeans y la distribución para linux(esta al usaremos para obtener las librerias que agregaremos a nuestro proyecto).
Instalamos el plugin para NetBeans
En el Menú de NetBeans seleccionar Herramientas->Tools->Option->iReport ->Classpath.
Agregamos el JAR
Agregamos las librerias al proyecto. Esta las puedes encontrar en el directorio.
iReport-4.1.1->ireport->modules->ext
Listado de las librerias a incluir
Diseñar el Reporte
Creamos un paquete nuevo para almacenar los reportes
Nuevo->Report->Empty report
Colocamos el nombre usuarios. En el diseño
seleccionamos en la pestaña Reportes ->Reportes->Edit Query
Seleccionar JavaBean DataSource-> en Class name colocar el nombre del beans correspondiente al proyecto de persistencia.
En este ejemplo org.testpersistence.beans.Usuarios y presionar el
botón Read attributes y seleccionar los atributos cedula y nombre y presionar el botón Add selected field(s), de manera que aparezcan en la parte inferior.
Ahora se muestran los campos
Arrastramos a la banda de Detalles
Ahora compilamos el reporte
Invocaremos el Reporte
HashMap map = new HashMap();
Usuarios usuarios = new Usuarios();
UsuariosController uc = new UsuariosController();
if (uc.Listar()) {
t.Imprimir(uc.getUsuarioslist(), map);
} else {
System.out.println(" no se puede listar");
}
Creamos el metodo Imprimir()
private void Imprimir(List
try {
JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(aux);
//Indicamos la ruta del reporte
InputStream reporte = (InputStream) getClass().getResourceAsStream("reportes/usuarios.jasper");
if (reporte == null) {
Mensajeria.Mensaje("No se pudo cargar el reporte");
} else {
JasperPrint print = JasperFillManager.fillReport(reporte, map, ds);
JasperViewer.viewReport(print, false);
}
} catch (Exception ex) {
Mensajeria.MensajeError(ex, "Imprimir()");
}
}
Reporte
Comments
Mi proyecto está hecho en JSF, y para ello, el reporte debe acceder a otro paquete.
Tenes idea o me podrás aconsejar como llegar hasta los entity?
Gracias!