SlideShare una empresa de Scribd logo
Generación de Informes
i í d lIngeniería de la
Programacióng
Práctica 9
1
• JasperReport: librería Java para el desarrollo de informes
• iReport: Herramienta para el diseño visual de informes JasperReport
Aplicación Java
Di ñ I f (Eclipse)Diseño Informe
(iReport)
Informe jasper JasperReport.jar
2
Informe.jasper p p j
Conexión Java-JasperReport
Contenido
iReport
é¿Qué es iReport?
Primeros pasos
ConfiguraciónConfiguración
Crear Conexión JDBC
Uso del Asistente
Aspectos Avanzados en el Diseño de Informes
Informes parametrizados
S bi fSubinformes
JasperReport
¿Q é e J pe Repo t?¿Qué es JasperReport?
Configuración de eclipse
Visualizando informes desde java
3
Visualizando informes desde java
iReport
¿Qué es iReport?
4
iReport -¿Qué es iReport?
• Utilidad Opensource para crear informes
• Implementado 100% en Java
• Genera informes JasperReports
• Editor WYSIWYG (What You See Is What You Get)
• Soporta todas las bases de datos accesibles por JDBC
Sun Java 2 SDK 1 4 o superior•. Sun Java 2 SDK 1.4 o superior
5
iReport -¿Qué es iReport?
Proyecto IReport:
http://sourceforge.net/projects/ireportp // g /p j / p
Descarga Binarios:
http://sourceforge.net/project/showfiles.php?group_id=64348
T t i l (E i lé )Tutoriales (En inglés):
http://sourceforge.net/docman/?group_id=64348
Foros de Ayuda (En inglés. Es necesario registrarse)
http://sourceforge net/forum/forum php?forum id=217623http://sourceforge.net/forum/forum.php?forum_id=217623
http://sourceforge.net/forum/forum.php?forum_id=217622
6
iReport
Primeros Pasos
7
iReport - Primeros pasos
Configuración
Menu Options >OpcionesMenu Options->Opciones
8
iReport - Primeros pasos
Configuración
4321
1.Propiedades del entorno1.Propiedades del entorno
• Indicamos el Look & feel, idioma, opciones por defecto, etc
2 Directorios del compilador2.Directorios del compilador
• Directorio donde se encuentra el compilador de informes,
donde se almacenan los informes generados etcdonde se almacenan los informes generados, etc.
3.Opciones de Backup
9
4.Programas externos
• Podemos utilizar otros programas para visualizar informes
iReport - Primeros pasos
Configuración
Directorio de CompilaciónDirectorio de Compilación
Indica donde seIndica donde se
guardan los ficheros
*.jasper
(importante saberlo
porque luego se
cargan desde Java)
10
iReport - Primeros pasos
Conexión con Hibernate
Data > Conexiones / Fuentes de datosData -> Conexiones / Fuentes de datos
11
iReport – Primeros pasos
Crear la conexión a la fuente de datos
1º Creamos la conexión1 Creamos la conexión
Conexión JDBC
Segundo: Nombre deg
la Conexión y URL
Primero:
Conexión BD JDBC
Tercero: probar la conexión
12
Conexión BD JDBC
iReport - Primeros pasos
Crear la Conexión a la fuente de datos
1º Creamos la Conexión1º Creamos la Conexión
Conexión Hibernate
2º: Nombre de
la conexión
1º: Tipo:
Conexión Hibernate
13
Conexión Hibernate
iReport - Primeros pasos
Crear Conexión Hibernate
2º Modificamos el Classpathp
Incluimos:
-la librería hsqldb.jar
Di t i 'd t ' d d t l bd d h lbd-Directorio 'data' donde se encuentra la bd de hsqlbd
Si es una conexión Hibernate añadir además los paths:
Directorio de archivos fuentes (src) de nuestro proyecto
14
Directorio de archivos binarios (bin)
Directorio donde están los mappings
Directorio donde está el archivo hibernate.cfg.xml
iReport - Primeros pasos
Crear Conexión Hibernate
3º Reemplazamos la librería de conexión
HSQLDB i IR ta HSQLDB que viene en IReport
IREPORTlibhsqldb 1 7 1 jarIREPORTlibhsqldb-1.7.1.jar
Por la que viene con HSQLDB:Por la que viene con HSQLDB:
HSQLDBlibhsqldb.jarHSQLDBlibhsqldb.jar
Manteniendo el nombre existente (hsqldb-( q
1.7.1.jar)
15
iReport - Primeros pasos
Primer informe: Uso del Asistente
iReport proporcina un asistente que nos facilita laiReport proporcina un asistente que nos facilita la
creación de informes sencillos
Fichero-> Mago de InformesFichero > Mago de Informes
5 pasos:5 pasos:
1º Seleccionar conexión y definir consulta SQL
2º Seleccionar camposp
3º Indicar si se agrupa por algún campo
4º Definir apariencia (Layout)
5º Finalizar asistente
Nota: Antes recuerde arrancar el HSQLDB
16
Nota: Antes, recuerde arrancar el HSQLDB
iReport - Primeros pasos
Primer informe: Uso del Asistente
1º Seleccionar conexión y definir consulta SQL
1º:Nombre de
la Conexiónla Conexión
2º C l2º:Consulta
SQL
17
iReport - Primeros pasos
Primer informe: Uso del Asistente
2º Seleccionar campos
3º Indicar si se agrupa por algún campo3 Indicar si se agrupa por algún campo
Atributos de Atributos que
18
Atributos de
la consulta aparecen en el
informe
iReport - Primeros pasos
Primer informe: Uso del Asistente
4º Definir apariencia (Layout) Columna: para cada registro un
campo bajo de otro
T b l d i
5º Finalizar asistente
Tabular: para cada registro un campo
al lado del otro
5 Finalizar asistente
Plantilla para los
19
aspectos estéticos
iReport - Primeros pasos
Primer informe: Uso del Asistente
Al finalizar obtenemos el diseño del informeAl finalizar obtenemos el diseño del informe
20
iReport - Primeros pasos
Primer informe: Uso del Asistente
Para visualizar el informe:Para visualizar el informe:
Construir -> Ejecutar informe (usando conexión activa)
Guardará además el diseño en un documento xmlGuardará además el diseño en un documento xml
21
iReport - Primeros pasos
Primer report: con Conexión Hibernate
1º Seleccionar la fuente de datos y definir una
consulta HQL
1º: Conexión
Hibernate
2º: consulta
HQL
22
iReport - Primeros pasos
Primer report: con Conexión Hibernate
P d i bi l ti bá iPuede ser necesario cambiar los tipos básicos por
clases (p.e. int java.lang.Integer)
23
iReport
Aspectos Avanzados en el Diseño de Informes
24
iReport - Aspectos Avanzados en el Diseño de Informes
Crear un informe nuevo:
Fichero -> nuevo documento
Nombre del informe
Fichero -> nuevo documento
•Tamaño del papel
•OrientaciónOrientación
•Márgenes, columnas, etc.
25
Modificar Propiedades: Editar -> Propiedades del Informe
iReport - Aspectos Avanzados en el Diseño de Informes
Definer la consulta a la BD: Datos -> Consulta
de informede informe
Escriba una consulta SQL y pulse 'Leer Campos' para ejecutarl
Consulta
26
SQL
iReport - Aspectos Avanzados en el Diseño de Informes
También puede construir la consulta en el Diseñador de Consultas.
27
iReport - Aspectos Avanzados en el Diseño de Informes
Consultas en conexiones Hibernate:
4º S l i l4º Seleccionamos los
atributos a incluir en el
informe, pudiendo
d
1º Creamos Consulta
HQL
navegar a través de
aquellos que sean objetos
HQL
2º La ejecutamos
3º Borramos atributos
28
iReport - Aspectos Avanzados en el Diseño de Informes
Archivos
Abiertos Ventana de
propiedades
Estructura del Documento Librería de
29Zona de Diseño
(Elementos definidos) Elementos
iReport - Aspectos Avanzados en el Diseño de Informes
Cada informe se divide en 7 secciones:
30
iReport - Aspectos Avanzados en el Diseño de Informes
Cada informe se divide en 7 secciones (bandas):
1. Título: Define el título del informe. Se imprime una única
vez al inicio del informe. Puede imprimirse en una páginap p g
separada.
2 Cabecera de Página: Define una cabecera para las2. Cabecera de Página: Define una cabecera para las
páginas del informe. Se imprime una vez por página. Todas
las páginas del informe presentan la misma cabecera de
ápágina.
3 Cabecera de Columna: Define la cabecera de cada una3. Cabecera de Columna: Define la cabecera de cada una
de las columnas de la sección detalle. Generalmente, se usa
para indicar el nombre de los atributos listados en la sección
‘detalle’
31
detalle .
iReport - Aspectos Avanzados en el Diseño de Informes
Cada informe se divide en 7 secciones (bandas):
4. Detalle: en esta sección se define el diseño con el que se
muestra cada registro de la base de datos. Se imprime
itantas veces como registros se recuperen.
5 Pie de Columna: Esta sección aparece al final de cada5. Pie de Columna: Esta sección aparece al final de cada
columna definida en la sección detalle.
6. Pie de Página: Esta sección aparece al final de cada
página del informe.
7. Resumen: Esta sección aparece al final del informe.
Generalmente se usa para presentar información resumida o
ibl d t t dí ti
32
posibles datos estadísticos.
iReport - Aspectos Avanzados en el Diseño de Informes
Elementos de un Informe:
Elementos Gráficos:Elementos Gráficos:
Línea: dibuja una línea en el informe
Cuadrado: dibuja un cuadrado en el informeCuadrado: dibuja un cuadrado en el informe
Elipse: dibuja una elipse en el informe
Elementos de Texto:
Texto estático: muestra un texto estático en el informe
Campo de texto: muestra el texto obtenido a partir de una
expresión javaexpresión java
Sub-Informes: incluye un informe ya existente
Elementos Especiales:Elementos Especiales:
Código de barras: genera un código de barras
Gráficas: permite crear una gráfica de datos
33
Gráficas: permite crear una gráfica de datos
iReport - Aspectos Avanzados en el Diseño de Informes
Elementos de un Informe:
Elipse
Campo
d T t
Código de
BarrasElipse de Texto Barras
Gráfica
Línea
Cuadrado Texto
Estático
Imagen Marco
SubInforme
Estático
34
iReport - Aspectos Avanzados en el Diseño de Informes
Campos de Texto: muestra el texto obtenido a partir
de una expresión javap j
String
Resultado de Operaciones MatemáticasResultado de Operaciones Matemáticas
Valor devuelto por funciones Java
Parámetros o VariablesParámetros o Variables
Campos de la conexión de datos
Nos permite visualizar la información
íd d l b d dextraída de la base de datos.
35
iReport - Aspectos Avanzados en el Diseño de Informes
Propiedades del
Campo de Texto
Expresión Java
p
Campo de BD:
$F{NombreCampo}$F{NombreCampo}
Seleccionar de la Lista
TextField->Expression
36
iReport - Aspectos Avanzados en el Diseño de Informes
Campos de Texto
Se pueden añadir campos de texto asociados a camposp p p
de la BD, Parámetros y Variables arrastrando a la zona
de diseño los elementos de la Librería
37
iReport - Aspectos Avanzados en el Diseño de Informes
Ejemplo:
TítuloTítulo
Cabecera
de Páginade Página
Detalle
Pie de
PáginaPágina
38
iReport - Aspectos Avanzados en el Diseño de Informes
Ejemplo:
C b d
Titulo
Cabecera de
Página
Detalle
Pie
39
iReport - Aspectos Avanzados en el Diseño de Informes
Ejemplo:
Lí
Campos de Texto
Texto Estático
Líneas Asociados a la BD
Campos de TextoCampos de Texto Asociados a
40
p
Asociados a Variables
p
Funciones Java
iReport - Aspectos Avanzados en el Diseño de Informes
Ejemplo: Líneas
Texto Estático
Campos de Texto
Asociados a la BD
Campos de Texto
Campos de Texto
Asociados a Variables
Asociados a
Funciones Java
41
iReport - Aspectos Avanzados en el Diseño de Informes
Parámetros:
Son valores enviados al informe desde un programa externo
Definición:
Menú Contextual
Estructura del
Documento:
add-> Parameter
42
iReport - Aspectos Avanzados en el Diseño de Informes
Parámetros:
Se suelen utilizar para parametrizar la consulta SQL
asociada a la fuente de datosasociada a la fuente de datos
$P {NombreParámetro}
43
iReport - Aspectos Avanzados en el Diseño de Informes
Variables:
Son objetos usados para almacenar el resultado de calculos
como subtotales, sumas, etc.
Definición:
Menú Contextual Estructura del Documento :
add-> Variable
Nombre de
la Variable
Tipo de la
Variable
44
iReport - Aspectos Avanzados en el Diseño de Informes
Variables: Existen Variables Predefinidas
PAGE NUMBER: número de páginas del informePAGE_NUMBER: número de páginas del informe
COLUMN_NUMBER: número de columnas
REPORT_COUNT: número de registros por la consulta asociada al
origen de datos
PAGE_COUNT: número de registros mostrados en la página actual
COLUMNS COUNT: número de registros mostrados en la columnaCOLUMNS_COUNT: número de registros mostrados en la columna
actual
Acceso al Valor de una Variable:
45
Acceso al Valor de una Variable:
Campo de Texto -> $V {NombreVariable}
iReport - Aspectos Avanzados en el Diseño de Informes
Ejemplo:
f P li l hfrom Pelicula p where
p.genero.nombregenero=${GENERO}
46
iReport - Aspectos Avanzados en el Diseño de Informes
Subinformes
Se utilizan para crear diseños Maestro Detalle aSe utilizan para crear diseños Maestro-Detalle a
partir de relaciones 1 a muchos
Ejemplo:Ejemplo:
Director
(Maestro)
Lista de Peliculas
(Detalle)( )
47
iReport - Aspectos Avanzados en el Diseño de Informes
Subinformes
Se crean dos informes por separadoSe crean dos informes por separado
Uno para el detalle
Otro para el maestroOtro para el maestro
La consulta del informe detalle se defineLa consulta del informe detalle se define
parametrizada
from Pelicula p where p.genero.nombregenero =
$P{GENERO}
Se incluye el detalle como subinforme del maestro
y se le pasa el parámetro correspondiente
48
y se le pasa el parámetro correspondiente
iReport - Aspectos Avanzados en el Diseño de Informes
Subinformes
Para incluir un informe como subinforme se crea unPara incluir un informe como subinforme se crea un
componente subinforme dentro de la sección detalle del
maestro
Seleccionamos “usar un informe existente”
Seleccionamos el fichero correspondiente al informe detallep
Pulsamos en Siguiente
49
iReport - Aspectos Avanzados en el Diseño de Informes
Subinformes
Indicamos que se utilice para el subinforme la mismaIndicamos que se utilice para el subinforme la misma
conexión que se utiliza en el informe maestro
Pulsamos en Siguiente
50
iReport - Aspectos Avanzados en el Diseño de Informes
Subinformes
Indicamos la expresión definida en el maestro que se va aIndicamos la expresión definida en el maestro que se va a
utilizar para dar valor al parámetro definido en el
subinforme
P l T iPulsamos en Terminar
Expresión en
el Maestro
P áParámetro
subinforme
51
iReport - Aspectos Avanzados en el Diseño de Informes
Subinformes
Una última modificación manual necesaria para que seUna última modificación manual necesaria para que se
visualicen los subinformes
new HashMap($P{REPORT PARAMETERS MAP})_ _
boton derecho->
P i d dPropiedades
52
iReport - Aspectos Avanzados en el Diseño de Informes
Subinformes en relaciones muchos-a-
muchosmuchos
La consulta en el subinforme debe cambiarse.
Por ejemplo, para listar todas las películaspor directorj p , p p p
(desde la relación Pelicula-Director):
Consulta en el informe Maestro:
from Director dfrom Director d
Lista de campos de Director: iddirector, nombre
Consulta en el subinforme:
from Pelicula p where $P{NOMBRE} IN p directores nombrefrom Pelicula p where $P{NOMBRE} IN p.directores.nombre
Lista de campos de Pelicula: titulo, fecha
Aquí directores es el conjunto definido en la clase Pelicula que guardaAquí, directores es el conjunto definido en la clase Pelicula que guarda
las instancias de directores de una película.
53
JasperReport
¿Qué es JasperReport?
54
JasperReport - ¿Qué es JasperReport?
Librería Java para la creación de informes
OpenSource
Generación de informes en archivos PDF, HTML,
XLS, CSV y XML.
Se pueden utilizar diversos orígenes de datos:
JDBC TableModels JavaBeans XML HibernateJDBC, TableModels, JavaBeans XML, Hibernate,
and CSV.
Puede ser incluida en cualquier proyecto Java
(incluyendo J2EE y Aplicaciones Web)
55
JasperReport - ¿Qué es JasperReport?
Documentación y Libreria (Registrado):
http://jasperforge org/sf/projects/jasperreportshttp://jasperforge.org/sf/projects/jasperreports
API:
http://jasperreports.sourceforge.net/api/
56
JasperReport
Configuración de Eclipse
57
JasperReport - Configuración de Eclipse
Incluir la librería JasperReport en el proyecto Eclipse
jasperreports-1.2.2.jar
Project ->Properties ->Java Build Path-> Libraries
58
JasperReport - Configuración de Eclipse
Incluir además las siguientes librerías:
Jakarta Commons Digester Component (versión 1.1 o
posterior)posterior)
http://jakarta.apache.org/commons/digester/
commons-digester.jar
Jakarta Commons BeanUtils Component (versión 1.1 o
posterior)
http://jakarta.apache.org/commons/beanutils/
b il jcommons-beanutils.jar
Jakarta Commons Collections Component (versión 1.0 o
posterior)posterior)
http://jakarta.apache.org/commons/collections/
commons-collections.jar
Jakarta Commons Logging Component (versión 1.0 o posterior)
http://jakarta.apache.org/commons/logging/
commons-logging.jar
59
commons logging.jar
También disponibles en el direcotrio /lib de iReport
JasperReport
Visualizando informes desde Hibernate
60
JasperReport - Visualizando informes desde Hibernate
La comunicación entre IReport y JasperReport se lleva a cabo a
través de un conjunto de parámetros definidos en un objeto
HashMapHashMap
Cuatro Pasos
1. Creación de Objetos
Session sesion=
UtilidadHibernate getSessionFactory() openSession();
ó á
UtilidadHibernate.getSessionFactory().openSession();
HashMap parametros = new HashMap();
2. Definición de Parámetros
// Obligatorio: Pasamos la fuente de datos (sesión Hibernate)
parametros put(JRHibernateQueryExecuterFactory PARAMETERparametros.put(JRHibernateQueryExecuterFactory.PARAMETER_
HIBERNATE_SESSION,sesion);
// Opcionales: parámetros del informe
61
// p p
parameterMap.put("genero","Comedia");
JasperReport - Visualizando informes desde Hibernate
3. Paso de Parametros al informe
String fileName= "reports/ReportParametros jasper";String fileName= "reports/ReportParametros.jasper";
JasperPrint informe=
JasperFillManager.fillReport(fileName,
parameterMap);
4. Visualización del Informe
parameterMap);
JasperViewer.viewReport(informe, false);
62
JasperReport - Visualizando informes desde java
Ejemplo Completo (ejecuta el informe de la página 46)
..
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.query.JRHibernateQueryExecuterFactory;
import net.sf.jasperreports.view.JasperViewer;
import net.sf.jasperreports.engine.JRException;
..
JasperPrint informe = null;
Session sesion= UtilidadHibernate.getSessionFactory().openSession();
HashMap parametros = new HashMap();
parametros.put(JRHibernateQueryExecuterFactory.
PARAMETER_HIBERNATE_SESSION,sesion);
parametros.put("genero","Comedia");
try {
String fileName= "reports/ReportParametros.jasper";
informe= JasperFillManager.fillReport(fileName, parametros);
}
63
catch (JRException e){e.printStackTrace();}
JasperViewer.viewReport(informe,false);
JasperReport - Visualizando informes desde java
Para obtener más información consultar el API de las
siguientes clases:
JRHibernateQueryExecuterFactory:
http://jasperreports sourceforge net/api/net/sf/jasperreports/engine/quhttp://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/qu
ery/JRHibernateQueryExecuterFactory.html
JasperReport:
http://jasperreports sourceforge net/api/net/sf/jasperreports/engine/Jashttp://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/Jas
perReport.html
JasperFillManager:
http://jasperreports sourceforge net/api/net/sf/jasperreports/engine/Jashttp://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/Jas
perFillManager.html
JasperPrint:
http://jasperreports sourceforge net/api/net/sf/jasperreports/engine/Jashttp://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/Jas
perPrint.html
JasperViewer:
http://jasperreports sourceforge net/api/net/sf/jasperreports/view/JRVie
64
http://jasperreports.sourceforge.net/api/net/sf/jasperreports/view/JRVie
wer.html

Más contenido relacionado

PPTX
The Django Web Application Framework 2
PPTX
AI_for_Health_Professional_Workshop_
PDF
TUGAS ASESI_FARID RIDWANULLOH rev 1.pdf
PDF
Airflow Best Practises & Roadmap to Airflow 2.0
PPTX
File_Soal_17_158_29_1666928742 - Pelaksana Konstruksi Bangunan Unit Distribus...
PPTX
presentasi konstruksi Pekerjaan Bronjong -.pptx
PPTX
JALAN File_Soal_17_158_29_1676969129 AHMAD FURQON.pptx
PPTX
Uji Kompetensi Ahli Muda Teknik Jalan Jenjang 7 MOSES HADUN.pptx
The Django Web Application Framework 2
AI_for_Health_Professional_Workshop_
TUGAS ASESI_FARID RIDWANULLOH rev 1.pdf
Airflow Best Practises & Roadmap to Airflow 2.0
File_Soal_17_158_29_1666928742 - Pelaksana Konstruksi Bangunan Unit Distribus...
presentasi konstruksi Pekerjaan Bronjong -.pptx
JALAN File_Soal_17_158_29_1676969129 AHMAD FURQON.pptx
Uji Kompetensi Ahli Muda Teknik Jalan Jenjang 7 MOSES HADUN.pptx

Destacado (20)

PDF
Introduction to Crystal and Jasper Reports for Novell Sentinel 6.1
PPSX
Reporte Java con JasperReport
PDF
Aho hopcroft - estructura de datos y algoritmos p1
PDF
Polimorfismo en java
PDF
delegacion_herencia_polimorfismo
PPT
3 interfaces clases_abstractas_herencia_polimorfismo
PDF
Mcts self paced training kit exam 432 sql server 2008 - implementation and ...
PPTX
Clases abstractas
PDF
Clases abstractas
PDF
Sql server 2012_licensing_reference_guide
PPT
Programación III (Java) - 03 Interfaces
ODP
Interface Design Getting Real
PDF
Estructuras de datos osvaldo cairo
PDF
Windows Server 2012 Exam Paper 70-411 PDF
PPTX
Clases abstractas e interfaces
PPTX
09 Clases Abstractas E Interfaces
PDF
MCSA Exam paper 70-412 PDF
PDF
Sql server 2012 transact sql dml reference
PDF
SQL Server Backup and Restore
Introduction to Crystal and Jasper Reports for Novell Sentinel 6.1
Reporte Java con JasperReport
Aho hopcroft - estructura de datos y algoritmos p1
Polimorfismo en java
delegacion_herencia_polimorfismo
3 interfaces clases_abstractas_herencia_polimorfismo
Mcts self paced training kit exam 432 sql server 2008 - implementation and ...
Clases abstractas
Clases abstractas
Sql server 2012_licensing_reference_guide
Programación III (Java) - 03 Interfaces
Interface Design Getting Real
Estructuras de datos osvaldo cairo
Windows Server 2012 Exam Paper 70-411 PDF
Clases abstractas e interfaces
09 Clases Abstractas E Interfaces
MCSA Exam paper 70-412 PDF
Sql server 2012 transact sql dml reference
SQL Server Backup and Restore
Publicidad

Similar a Informes+con+ireport (2) (20)

PPTX
5.confección de informes
PPTX
I report
PPTX
Reportes
PPTX
Reportes
PPT
Power point report
PDF
Manual reportes jsp
PPTX
Jasreport
DOCX
Manual ireport
PDF
Ireport con javabeans
PDF
Informes en java segunda parte
PPTX
PPTX
5.confección de informes
I report
Reportes
Reportes
Power point report
Manual reportes jsp
Jasreport
Manual ireport
Ireport con javabeans
Informes en java segunda parte
Publicidad

Último (20)

PDF
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
PDF
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
PPTX
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
PDF
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
PDF
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
DOCX
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
PDF
GUIA DE: CANVA + INTELIGENCIA ARTIFICIAL
PDF
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
PDF
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
PDF
Fundamentos_Educacion_a_Distancia_ABC.pdf
PDF
Tomo 1 de biologia gratis ultra plusenmas
PDF
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
PDF
Salcedo, J. et al. - Recomendaciones para la utilización del lenguaje inclusi...
PDF
Metodologías Activas con herramientas IAG
DOCX
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
PDF
DI, TEA, TDAH.pdf guía se secuencias didacticas
DOCX
2 GRADO UNIDAD 5 - 2025.docx para primaria
PDF
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
PDF
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
Crear o Morir - Andres Oppenheimer Ccesa007.pdf
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
GUIA DE: CANVA + INTELIGENCIA ARTIFICIAL
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
Fundamentos_Educacion_a_Distancia_ABC.pdf
Tomo 1 de biologia gratis ultra plusenmas
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
Salcedo, J. et al. - Recomendaciones para la utilización del lenguaje inclusi...
Metodologías Activas con herramientas IAG
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
DI, TEA, TDAH.pdf guía se secuencias didacticas
2 GRADO UNIDAD 5 - 2025.docx para primaria
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf

Informes+con+ireport (2)

  • 1. Generación de Informes i í d lIngeniería de la Programacióng Práctica 9 1
  • 2. • JasperReport: librería Java para el desarrollo de informes • iReport: Herramienta para el diseño visual de informes JasperReport Aplicación Java Di ñ I f (Eclipse)Diseño Informe (iReport) Informe jasper JasperReport.jar 2 Informe.jasper p p j Conexión Java-JasperReport
  • 3. Contenido iReport é¿Qué es iReport? Primeros pasos ConfiguraciónConfiguración Crear Conexión JDBC Uso del Asistente Aspectos Avanzados en el Diseño de Informes Informes parametrizados S bi fSubinformes JasperReport ¿Q é e J pe Repo t?¿Qué es JasperReport? Configuración de eclipse Visualizando informes desde java 3 Visualizando informes desde java
  • 5. iReport -¿Qué es iReport? • Utilidad Opensource para crear informes • Implementado 100% en Java • Genera informes JasperReports • Editor WYSIWYG (What You See Is What You Get) • Soporta todas las bases de datos accesibles por JDBC Sun Java 2 SDK 1 4 o superior•. Sun Java 2 SDK 1.4 o superior 5
  • 6. iReport -¿Qué es iReport? Proyecto IReport: http://sourceforge.net/projects/ireportp // g /p j / p Descarga Binarios: http://sourceforge.net/project/showfiles.php?group_id=64348 T t i l (E i lé )Tutoriales (En inglés): http://sourceforge.net/docman/?group_id=64348 Foros de Ayuda (En inglés. Es necesario registrarse) http://sourceforge net/forum/forum php?forum id=217623http://sourceforge.net/forum/forum.php?forum_id=217623 http://sourceforge.net/forum/forum.php?forum_id=217622 6
  • 8. iReport - Primeros pasos Configuración Menu Options >OpcionesMenu Options->Opciones 8
  • 9. iReport - Primeros pasos Configuración 4321 1.Propiedades del entorno1.Propiedades del entorno • Indicamos el Look & feel, idioma, opciones por defecto, etc 2 Directorios del compilador2.Directorios del compilador • Directorio donde se encuentra el compilador de informes, donde se almacenan los informes generados etcdonde se almacenan los informes generados, etc. 3.Opciones de Backup 9 4.Programas externos • Podemos utilizar otros programas para visualizar informes
  • 10. iReport - Primeros pasos Configuración Directorio de CompilaciónDirectorio de Compilación Indica donde seIndica donde se guardan los ficheros *.jasper (importante saberlo porque luego se cargan desde Java) 10
  • 11. iReport - Primeros pasos Conexión con Hibernate Data > Conexiones / Fuentes de datosData -> Conexiones / Fuentes de datos 11
  • 12. iReport – Primeros pasos Crear la conexión a la fuente de datos 1º Creamos la conexión1 Creamos la conexión Conexión JDBC Segundo: Nombre deg la Conexión y URL Primero: Conexión BD JDBC Tercero: probar la conexión 12 Conexión BD JDBC
  • 13. iReport - Primeros pasos Crear la Conexión a la fuente de datos 1º Creamos la Conexión1º Creamos la Conexión Conexión Hibernate 2º: Nombre de la conexión 1º: Tipo: Conexión Hibernate 13 Conexión Hibernate
  • 14. iReport - Primeros pasos Crear Conexión Hibernate 2º Modificamos el Classpathp Incluimos: -la librería hsqldb.jar Di t i 'd t ' d d t l bd d h lbd-Directorio 'data' donde se encuentra la bd de hsqlbd Si es una conexión Hibernate añadir además los paths: Directorio de archivos fuentes (src) de nuestro proyecto 14 Directorio de archivos binarios (bin) Directorio donde están los mappings Directorio donde está el archivo hibernate.cfg.xml
  • 15. iReport - Primeros pasos Crear Conexión Hibernate 3º Reemplazamos la librería de conexión HSQLDB i IR ta HSQLDB que viene en IReport IREPORTlibhsqldb 1 7 1 jarIREPORTlibhsqldb-1.7.1.jar Por la que viene con HSQLDB:Por la que viene con HSQLDB: HSQLDBlibhsqldb.jarHSQLDBlibhsqldb.jar Manteniendo el nombre existente (hsqldb-( q 1.7.1.jar) 15
  • 16. iReport - Primeros pasos Primer informe: Uso del Asistente iReport proporcina un asistente que nos facilita laiReport proporcina un asistente que nos facilita la creación de informes sencillos Fichero-> Mago de InformesFichero > Mago de Informes 5 pasos:5 pasos: 1º Seleccionar conexión y definir consulta SQL 2º Seleccionar camposp 3º Indicar si se agrupa por algún campo 4º Definir apariencia (Layout) 5º Finalizar asistente Nota: Antes recuerde arrancar el HSQLDB 16 Nota: Antes, recuerde arrancar el HSQLDB
  • 17. iReport - Primeros pasos Primer informe: Uso del Asistente 1º Seleccionar conexión y definir consulta SQL 1º:Nombre de la Conexiónla Conexión 2º C l2º:Consulta SQL 17
  • 18. iReport - Primeros pasos Primer informe: Uso del Asistente 2º Seleccionar campos 3º Indicar si se agrupa por algún campo3 Indicar si se agrupa por algún campo Atributos de Atributos que 18 Atributos de la consulta aparecen en el informe
  • 19. iReport - Primeros pasos Primer informe: Uso del Asistente 4º Definir apariencia (Layout) Columna: para cada registro un campo bajo de otro T b l d i 5º Finalizar asistente Tabular: para cada registro un campo al lado del otro 5 Finalizar asistente Plantilla para los 19 aspectos estéticos
  • 20. iReport - Primeros pasos Primer informe: Uso del Asistente Al finalizar obtenemos el diseño del informeAl finalizar obtenemos el diseño del informe 20
  • 21. iReport - Primeros pasos Primer informe: Uso del Asistente Para visualizar el informe:Para visualizar el informe: Construir -> Ejecutar informe (usando conexión activa) Guardará además el diseño en un documento xmlGuardará además el diseño en un documento xml 21
  • 22. iReport - Primeros pasos Primer report: con Conexión Hibernate 1º Seleccionar la fuente de datos y definir una consulta HQL 1º: Conexión Hibernate 2º: consulta HQL 22
  • 23. iReport - Primeros pasos Primer report: con Conexión Hibernate P d i bi l ti bá iPuede ser necesario cambiar los tipos básicos por clases (p.e. int java.lang.Integer) 23
  • 24. iReport Aspectos Avanzados en el Diseño de Informes 24
  • 25. iReport - Aspectos Avanzados en el Diseño de Informes Crear un informe nuevo: Fichero -> nuevo documento Nombre del informe Fichero -> nuevo documento •Tamaño del papel •OrientaciónOrientación •Márgenes, columnas, etc. 25 Modificar Propiedades: Editar -> Propiedades del Informe
  • 26. iReport - Aspectos Avanzados en el Diseño de Informes Definer la consulta a la BD: Datos -> Consulta de informede informe Escriba una consulta SQL y pulse 'Leer Campos' para ejecutarl Consulta 26 SQL
  • 27. iReport - Aspectos Avanzados en el Diseño de Informes También puede construir la consulta en el Diseñador de Consultas. 27
  • 28. iReport - Aspectos Avanzados en el Diseño de Informes Consultas en conexiones Hibernate: 4º S l i l4º Seleccionamos los atributos a incluir en el informe, pudiendo d 1º Creamos Consulta HQL navegar a través de aquellos que sean objetos HQL 2º La ejecutamos 3º Borramos atributos 28
  • 29. iReport - Aspectos Avanzados en el Diseño de Informes Archivos Abiertos Ventana de propiedades Estructura del Documento Librería de 29Zona de Diseño (Elementos definidos) Elementos
  • 30. iReport - Aspectos Avanzados en el Diseño de Informes Cada informe se divide en 7 secciones: 30
  • 31. iReport - Aspectos Avanzados en el Diseño de Informes Cada informe se divide en 7 secciones (bandas): 1. Título: Define el título del informe. Se imprime una única vez al inicio del informe. Puede imprimirse en una páginap p g separada. 2 Cabecera de Página: Define una cabecera para las2. Cabecera de Página: Define una cabecera para las páginas del informe. Se imprime una vez por página. Todas las páginas del informe presentan la misma cabecera de ápágina. 3 Cabecera de Columna: Define la cabecera de cada una3. Cabecera de Columna: Define la cabecera de cada una de las columnas de la sección detalle. Generalmente, se usa para indicar el nombre de los atributos listados en la sección ‘detalle’ 31 detalle .
  • 32. iReport - Aspectos Avanzados en el Diseño de Informes Cada informe se divide en 7 secciones (bandas): 4. Detalle: en esta sección se define el diseño con el que se muestra cada registro de la base de datos. Se imprime itantas veces como registros se recuperen. 5 Pie de Columna: Esta sección aparece al final de cada5. Pie de Columna: Esta sección aparece al final de cada columna definida en la sección detalle. 6. Pie de Página: Esta sección aparece al final de cada página del informe. 7. Resumen: Esta sección aparece al final del informe. Generalmente se usa para presentar información resumida o ibl d t t dí ti 32 posibles datos estadísticos.
  • 33. iReport - Aspectos Avanzados en el Diseño de Informes Elementos de un Informe: Elementos Gráficos:Elementos Gráficos: Línea: dibuja una línea en el informe Cuadrado: dibuja un cuadrado en el informeCuadrado: dibuja un cuadrado en el informe Elipse: dibuja una elipse en el informe Elementos de Texto: Texto estático: muestra un texto estático en el informe Campo de texto: muestra el texto obtenido a partir de una expresión javaexpresión java Sub-Informes: incluye un informe ya existente Elementos Especiales:Elementos Especiales: Código de barras: genera un código de barras Gráficas: permite crear una gráfica de datos 33 Gráficas: permite crear una gráfica de datos
  • 34. iReport - Aspectos Avanzados en el Diseño de Informes Elementos de un Informe: Elipse Campo d T t Código de BarrasElipse de Texto Barras Gráfica Línea Cuadrado Texto Estático Imagen Marco SubInforme Estático 34
  • 35. iReport - Aspectos Avanzados en el Diseño de Informes Campos de Texto: muestra el texto obtenido a partir de una expresión javap j String Resultado de Operaciones MatemáticasResultado de Operaciones Matemáticas Valor devuelto por funciones Java Parámetros o VariablesParámetros o Variables Campos de la conexión de datos Nos permite visualizar la información íd d l b d dextraída de la base de datos. 35
  • 36. iReport - Aspectos Avanzados en el Diseño de Informes Propiedades del Campo de Texto Expresión Java p Campo de BD: $F{NombreCampo}$F{NombreCampo} Seleccionar de la Lista TextField->Expression 36
  • 37. iReport - Aspectos Avanzados en el Diseño de Informes Campos de Texto Se pueden añadir campos de texto asociados a camposp p p de la BD, Parámetros y Variables arrastrando a la zona de diseño los elementos de la Librería 37
  • 38. iReport - Aspectos Avanzados en el Diseño de Informes Ejemplo: TítuloTítulo Cabecera de Páginade Página Detalle Pie de PáginaPágina 38
  • 39. iReport - Aspectos Avanzados en el Diseño de Informes Ejemplo: C b d Titulo Cabecera de Página Detalle Pie 39
  • 40. iReport - Aspectos Avanzados en el Diseño de Informes Ejemplo: Lí Campos de Texto Texto Estático Líneas Asociados a la BD Campos de TextoCampos de Texto Asociados a 40 p Asociados a Variables p Funciones Java
  • 41. iReport - Aspectos Avanzados en el Diseño de Informes Ejemplo: Líneas Texto Estático Campos de Texto Asociados a la BD Campos de Texto Campos de Texto Asociados a Variables Asociados a Funciones Java 41
  • 42. iReport - Aspectos Avanzados en el Diseño de Informes Parámetros: Son valores enviados al informe desde un programa externo Definición: Menú Contextual Estructura del Documento: add-> Parameter 42
  • 43. iReport - Aspectos Avanzados en el Diseño de Informes Parámetros: Se suelen utilizar para parametrizar la consulta SQL asociada a la fuente de datosasociada a la fuente de datos $P {NombreParámetro} 43
  • 44. iReport - Aspectos Avanzados en el Diseño de Informes Variables: Son objetos usados para almacenar el resultado de calculos como subtotales, sumas, etc. Definición: Menú Contextual Estructura del Documento : add-> Variable Nombre de la Variable Tipo de la Variable 44
  • 45. iReport - Aspectos Avanzados en el Diseño de Informes Variables: Existen Variables Predefinidas PAGE NUMBER: número de páginas del informePAGE_NUMBER: número de páginas del informe COLUMN_NUMBER: número de columnas REPORT_COUNT: número de registros por la consulta asociada al origen de datos PAGE_COUNT: número de registros mostrados en la página actual COLUMNS COUNT: número de registros mostrados en la columnaCOLUMNS_COUNT: número de registros mostrados en la columna actual Acceso al Valor de una Variable: 45 Acceso al Valor de una Variable: Campo de Texto -> $V {NombreVariable}
  • 46. iReport - Aspectos Avanzados en el Diseño de Informes Ejemplo: f P li l hfrom Pelicula p where p.genero.nombregenero=${GENERO} 46
  • 47. iReport - Aspectos Avanzados en el Diseño de Informes Subinformes Se utilizan para crear diseños Maestro Detalle aSe utilizan para crear diseños Maestro-Detalle a partir de relaciones 1 a muchos Ejemplo:Ejemplo: Director (Maestro) Lista de Peliculas (Detalle)( ) 47
  • 48. iReport - Aspectos Avanzados en el Diseño de Informes Subinformes Se crean dos informes por separadoSe crean dos informes por separado Uno para el detalle Otro para el maestroOtro para el maestro La consulta del informe detalle se defineLa consulta del informe detalle se define parametrizada from Pelicula p where p.genero.nombregenero = $P{GENERO} Se incluye el detalle como subinforme del maestro y se le pasa el parámetro correspondiente 48 y se le pasa el parámetro correspondiente
  • 49. iReport - Aspectos Avanzados en el Diseño de Informes Subinformes Para incluir un informe como subinforme se crea unPara incluir un informe como subinforme se crea un componente subinforme dentro de la sección detalle del maestro Seleccionamos “usar un informe existente” Seleccionamos el fichero correspondiente al informe detallep Pulsamos en Siguiente 49
  • 50. iReport - Aspectos Avanzados en el Diseño de Informes Subinformes Indicamos que se utilice para el subinforme la mismaIndicamos que se utilice para el subinforme la misma conexión que se utiliza en el informe maestro Pulsamos en Siguiente 50
  • 51. iReport - Aspectos Avanzados en el Diseño de Informes Subinformes Indicamos la expresión definida en el maestro que se va aIndicamos la expresión definida en el maestro que se va a utilizar para dar valor al parámetro definido en el subinforme P l T iPulsamos en Terminar Expresión en el Maestro P áParámetro subinforme 51
  • 52. iReport - Aspectos Avanzados en el Diseño de Informes Subinformes Una última modificación manual necesaria para que seUna última modificación manual necesaria para que se visualicen los subinformes new HashMap($P{REPORT PARAMETERS MAP})_ _ boton derecho-> P i d dPropiedades 52
  • 53. iReport - Aspectos Avanzados en el Diseño de Informes Subinformes en relaciones muchos-a- muchosmuchos La consulta en el subinforme debe cambiarse. Por ejemplo, para listar todas las películaspor directorj p , p p p (desde la relación Pelicula-Director): Consulta en el informe Maestro: from Director dfrom Director d Lista de campos de Director: iddirector, nombre Consulta en el subinforme: from Pelicula p where $P{NOMBRE} IN p directores nombrefrom Pelicula p where $P{NOMBRE} IN p.directores.nombre Lista de campos de Pelicula: titulo, fecha Aquí directores es el conjunto definido en la clase Pelicula que guardaAquí, directores es el conjunto definido en la clase Pelicula que guarda las instancias de directores de una película. 53
  • 55. JasperReport - ¿Qué es JasperReport? Librería Java para la creación de informes OpenSource Generación de informes en archivos PDF, HTML, XLS, CSV y XML. Se pueden utilizar diversos orígenes de datos: JDBC TableModels JavaBeans XML HibernateJDBC, TableModels, JavaBeans XML, Hibernate, and CSV. Puede ser incluida en cualquier proyecto Java (incluyendo J2EE y Aplicaciones Web) 55
  • 56. JasperReport - ¿Qué es JasperReport? Documentación y Libreria (Registrado): http://jasperforge org/sf/projects/jasperreportshttp://jasperforge.org/sf/projects/jasperreports API: http://jasperreports.sourceforge.net/api/ 56
  • 58. JasperReport - Configuración de Eclipse Incluir la librería JasperReport en el proyecto Eclipse jasperreports-1.2.2.jar Project ->Properties ->Java Build Path-> Libraries 58
  • 59. JasperReport - Configuración de Eclipse Incluir además las siguientes librerías: Jakarta Commons Digester Component (versión 1.1 o posterior)posterior) http://jakarta.apache.org/commons/digester/ commons-digester.jar Jakarta Commons BeanUtils Component (versión 1.1 o posterior) http://jakarta.apache.org/commons/beanutils/ b il jcommons-beanutils.jar Jakarta Commons Collections Component (versión 1.0 o posterior)posterior) http://jakarta.apache.org/commons/collections/ commons-collections.jar Jakarta Commons Logging Component (versión 1.0 o posterior) http://jakarta.apache.org/commons/logging/ commons-logging.jar 59 commons logging.jar También disponibles en el direcotrio /lib de iReport
  • 61. JasperReport - Visualizando informes desde Hibernate La comunicación entre IReport y JasperReport se lleva a cabo a través de un conjunto de parámetros definidos en un objeto HashMapHashMap Cuatro Pasos 1. Creación de Objetos Session sesion= UtilidadHibernate getSessionFactory() openSession(); ó á UtilidadHibernate.getSessionFactory().openSession(); HashMap parametros = new HashMap(); 2. Definición de Parámetros // Obligatorio: Pasamos la fuente de datos (sesión Hibernate) parametros put(JRHibernateQueryExecuterFactory PARAMETERparametros.put(JRHibernateQueryExecuterFactory.PARAMETER_ HIBERNATE_SESSION,sesion); // Opcionales: parámetros del informe 61 // p p parameterMap.put("genero","Comedia");
  • 62. JasperReport - Visualizando informes desde Hibernate 3. Paso de Parametros al informe String fileName= "reports/ReportParametros jasper";String fileName= "reports/ReportParametros.jasper"; JasperPrint informe= JasperFillManager.fillReport(fileName, parameterMap); 4. Visualización del Informe parameterMap); JasperViewer.viewReport(informe, false); 62
  • 63. JasperReport - Visualizando informes desde java Ejemplo Completo (ejecuta el informe de la página 46) .. import net.sf.jasperreports.engine.JasperFillManager; import net.sf.jasperreports.engine.JasperPrint; import net.sf.jasperreports.engine.query.JRHibernateQueryExecuterFactory; import net.sf.jasperreports.view.JasperViewer; import net.sf.jasperreports.engine.JRException; .. JasperPrint informe = null; Session sesion= UtilidadHibernate.getSessionFactory().openSession(); HashMap parametros = new HashMap(); parametros.put(JRHibernateQueryExecuterFactory. PARAMETER_HIBERNATE_SESSION,sesion); parametros.put("genero","Comedia"); try { String fileName= "reports/ReportParametros.jasper"; informe= JasperFillManager.fillReport(fileName, parametros); } 63 catch (JRException e){e.printStackTrace();} JasperViewer.viewReport(informe,false);
  • 64. JasperReport - Visualizando informes desde java Para obtener más información consultar el API de las siguientes clases: JRHibernateQueryExecuterFactory: http://jasperreports sourceforge net/api/net/sf/jasperreports/engine/quhttp://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/qu ery/JRHibernateQueryExecuterFactory.html JasperReport: http://jasperreports sourceforge net/api/net/sf/jasperreports/engine/Jashttp://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/Jas perReport.html JasperFillManager: http://jasperreports sourceforge net/api/net/sf/jasperreports/engine/Jashttp://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/Jas perFillManager.html JasperPrint: http://jasperreports sourceforge net/api/net/sf/jasperreports/engine/Jashttp://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/Jas perPrint.html JasperViewer: http://jasperreports sourceforge net/api/net/sf/jasperreports/view/JRVie 64 http://jasperreports.sourceforge.net/api/net/sf/jasperreports/view/JRVie wer.html