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()");
}
Comments