Tuesday, May 28, 2013

Tutorial de IReport con NetBeans y DataClassG

Tutorial de IReport con NetBeans y DataClassG
PARA PROYECTOS ANT Y MAVEN
Descargar el plugin desde NetBeans




Instalamos el plugin para NetBeans



Carga el icono en el el ide










AGREGAR EL JAR DE UN PROYECTO ANT



Clic derecho y selecionar Clean and Build



En el Menú de NetBeans seleccionar Herramientas->Tools->Option->iReport ->Classpath



Agregar JAR en proyectos ANT




AGREGAR EL JAR DE UN PROYECTO MAVEN
Seleccionar Build with Dependencies





Se genera el archivo jar en el directorio target

En el Menú de NetBeans seleccionar Herramientas->Tools->Option->iReport ->Classpath





Seleccionamos el archivo jar



archivo







LIBRERÍAS PARA PROYECTOS ANT
Obtener las librerías de iReport y Jaspert
Descomprimimos el archivo, y nos ubicamos en el directorio
iReport-4.1.1->ireport->modules->ext
y seleccionamos
commons-beanutils-1.8.2.jar
commons-collections-3.2.1.jar
commons-digester-1.7.jar
commons-javaflow-20060411.jar
commons-logging-1.1.jar
iText-2.1.7.jar
jasperreports-4.1.1.jar
jcommon-1.0.15.jar
jdt-compiler-3.1.1.jar
jfreechart-1.0.12.jar


y lo copiamos a un directorio llamado jasperReport para usarlos como librerías en NetBeans
Ahora creamos un proyecto Nuevo

Ahora en NetBeans seleccionamos Tools->Libraries

presionar el botón New Library

indicamos el nombre: jasperReport

Damos clic en el botón Ok y luego en
Seleccionamos los jar


Seleccionamos propiedades del proyecto y  agregamos los drivers de MySQL ,JaspertReports y el jar del proyecto de persistencia
.



Librería agregadas

DEPENDENCIAS PARA MAVEN

Ubicarse en Dependencias, clic derecho seleccionar Add Dependency...

En Query colocamos itext
Group id: com.lowagie
Artifact ID: itext

Query: commons-loggin

Query jasperreports




Query: jfreechart
Query: commons-collections



Diseñar el Reporte
Creamos un paquete nuevo para almacenar los reportes. org.testapplication.reportes





Nuevo->Report->Empty report






Colocamos el nombre usuarios






Diseñador



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
 

Se genera el archivo usuarios.jasper



Agregar los import

import java.io.InputStream;
import java.util.HashMap;
import java.util.List;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.view.JasperViewer;
import org.data.generales.Mensajeria;

Invocamos el Reporte
           HashMap map = new HashMap();
           Usuarios usuarios = new Usuarios();
           UsuariosController uc = new UsuariosController();
           if (uc.selectAll()) {
             Imprimir(uc.getUsuarioslist(), map);
           } else {
               System.out.println(" no se puede listar");
           }

Creamos el método Imprimir()

private void Imprimir(List<Usuarios> aux, HashMap map) throws JRException {
     try {
            JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(aux);
//Indicamos la ruta del reporte
                InputStream reporte = (InputStream) getClass().getResourceAsStream("/org/testapplication/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

Recomendaciones:
1. Limpie el proyecto
2. Compile nuevamente el reporte cuando realice cambios.
3. Campos con ancho de 74. (Width 74) muestran 987654321.10



Formatearlo a dos decimales Pattern ###0.00



Agregando Parámetros




Cambiamos el nombre al parametro: p_entidad
Nota: usar p_nombredeparametr
o

Parametro creado








Arrastramos el parámetro al diseñador

Estos parámetros son agregados al HashMap
try {
         HashMap map = new HashMap();
           map.put("p_entidad", SesionLocal.getEntidad());
           Usuarios usuarios = new Usuarios();
           UsuariosController uc = new UsuariosController();
           if (uc.selectAll()) {
             Imprimir(org.facilscrum.beans, map);
           } else {
               System.out.println(" no se puede listar");
           }




o si deseamos pasar un solo registro en el reporte lo agregamos directamente.
HashMap map = new HashMap();
List<Usuarios> list= new ArrayList();
usuarios.setCedula(“7-117-816”);
usuarios.setNombre(“Aristides”);
list.add(usuarios);
       Imprimir(list, map);

       } catch (Exception ex) {
           Mensajeria.MensajeError(ex, "Imprimir()");
       }

 



No comments: