SlideShare una empresa de Scribd logo
1 de 64
Descargar para leer sin conexión
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

La actualidad más candente

Javascript Prototype Visualized
Javascript Prototype VisualizedJavascript Prototype Visualized
Javascript Prototype Visualized军 沈
 
Curso de Java Persistence API (JPA) (Java EE 7)
Curso de Java Persistence API (JPA) (Java EE 7)Curso de Java Persistence API (JPA) (Java EE 7)
Curso de Java Persistence API (JPA) (Java EE 7)Helder da Rocha
 
Apresentação mvc
Apresentação mvcApresentação mvc
Apresentação mvcleopp
 
JavaScript - Chapter 7 - Advanced Functions
 JavaScript - Chapter 7 - Advanced Functions JavaScript - Chapter 7 - Advanced Functions
JavaScript - Chapter 7 - Advanced FunctionsWebStackAcademy
 
Solid principles
Solid principlesSolid principles
Solid principlesToan Nguyen
 
4. Classes and Methods
4. Classes and Methods4. Classes and Methods
4. Classes and MethodsNilesh Dalvi
 
JDBC,Types of JDBC,Resultset, statements,PreparedStatement,CallableStatements...
JDBC,Types of JDBC,Resultset, statements,PreparedStatement,CallableStatements...JDBC,Types of JDBC,Resultset, statements,PreparedStatement,CallableStatements...
JDBC,Types of JDBC,Resultset, statements,PreparedStatement,CallableStatements...Pallepati Vasavi
 
Creating simple component
Creating simple componentCreating simple component
Creating simple componentpriya Nithya
 
The New JavaScript: ES6
The New JavaScript: ES6The New JavaScript: ES6
The New JavaScript: ES6Rob Eisenberg
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsEduardo Mendes
 
PHP Frameworks and CodeIgniter
PHP Frameworks and CodeIgniterPHP Frameworks and CodeIgniter
PHP Frameworks and CodeIgniterKHALID C
 

La actualidad más candente (20)

Javascript Prototype Visualized
Javascript Prototype VisualizedJavascript Prototype Visualized
Javascript Prototype Visualized
 
Curso de Java Persistence API (JPA) (Java EE 7)
Curso de Java Persistence API (JPA) (Java EE 7)Curso de Java Persistence API (JPA) (Java EE 7)
Curso de Java Persistence API (JPA) (Java EE 7)
 
Apresentação mvc
Apresentação mvcApresentação mvc
Apresentação mvc
 
ASP.NET Web form
ASP.NET Web formASP.NET Web form
ASP.NET Web form
 
JavaScript - Chapter 7 - Advanced Functions
 JavaScript - Chapter 7 - Advanced Functions JavaScript - Chapter 7 - Advanced Functions
JavaScript - Chapter 7 - Advanced Functions
 
Jdbc complete
Jdbc completeJdbc complete
Jdbc complete
 
Solid principles
Solid principlesSolid principles
Solid principles
 
Servlets
ServletsServlets
Servlets
 
4. Classes and Methods
4. Classes and Methods4. Classes and Methods
4. Classes and Methods
 
JDBC,Types of JDBC,Resultset, statements,PreparedStatement,CallableStatements...
JDBC,Types of JDBC,Resultset, statements,PreparedStatement,CallableStatements...JDBC,Types of JDBC,Resultset, statements,PreparedStatement,CallableStatements...
JDBC,Types of JDBC,Resultset, statements,PreparedStatement,CallableStatements...
 
Creating simple component
Creating simple componentCreating simple component
Creating simple component
 
Getting started with entity framework
Getting started with entity framework Getting started with entity framework
Getting started with entity framework
 
Database Access With JDBC
Database Access With JDBCDatabase Access With JDBC
Database Access With JDBC
 
Spring ppt
Spring pptSpring ppt
Spring ppt
 
React js t2 - jsx
React js   t2 - jsxReact js   t2 - jsx
React js t2 - jsx
 
Spring boot
Spring bootSpring boot
Spring boot
 
The New JavaScript: ES6
The New JavaScript: ES6The New JavaScript: ES6
The New JavaScript: ES6
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e Servlets
 
JDBC
JDBCJDBC
JDBC
 
PHP Frameworks and CodeIgniter
PHP Frameworks and CodeIgniterPHP Frameworks and CodeIgniter
PHP Frameworks and CodeIgniter
 

Destacado

Introduction to Crystal and Jasper Reports for Novell Sentinel 6.1
Introduction to Crystal and Jasper Reports for Novell Sentinel 6.1Introduction to Crystal and Jasper Reports for Novell Sentinel 6.1
Introduction to Crystal and Jasper Reports for Novell Sentinel 6.1Novell
 
Aho hopcroft - estructura de datos y algoritmos p1
Aho   hopcroft - estructura de datos y algoritmos p1Aho   hopcroft - estructura de datos y algoritmos p1
Aho hopcroft - estructura de datos y algoritmos p1Emiliano Andres Abadi
 
Polimorfismo en java
Polimorfismo en javaPolimorfismo en java
Polimorfismo en javaSa_Van
 
delegacion_herencia_polimorfismo
delegacion_herencia_polimorfismodelegacion_herencia_polimorfismo
delegacion_herencia_polimorfismoJohana Añez
 
3 interfaces clases_abstractas_herencia_polimorfismo
3 interfaces clases_abstractas_herencia_polimorfismo3 interfaces clases_abstractas_herencia_polimorfismo
3 interfaces clases_abstractas_herencia_polimorfismoJesus Alberto Iribe Gonzalez
 
Mcts self paced training kit exam 432 sql server 2008 - implementation and ...
Mcts self paced training kit exam 432   sql server 2008 - implementation and ...Mcts self paced training kit exam 432   sql server 2008 - implementation and ...
Mcts self paced training kit exam 432 sql server 2008 - implementation and ...Portal_do_Estudante_SQL
 
Sql server 2012_licensing_reference_guide
Sql server 2012_licensing_reference_guideSql server 2012_licensing_reference_guide
Sql server 2012_licensing_reference_guideamenus006
 
Programación III (Java) - 03 Interfaces
Programación III (Java) - 03 InterfacesProgramación III (Java) - 03 Interfaces
Programación III (Java) - 03 InterfacesAndoni Eguíluz Morán
 
Interface Design Getting Real
Interface Design Getting RealInterface Design Getting Real
Interface Design Getting RealMiguel Rodriguez
 
Estructuras de datos osvaldo cairo
Estructuras de datos   osvaldo cairoEstructuras de datos   osvaldo cairo
Estructuras de datos osvaldo cairoYossLu Molina
 
Windows Server 2012 Exam Paper 70-411 PDF
Windows Server 2012 Exam Paper 70-411 PDFWindows Server 2012 Exam Paper 70-411 PDF
Windows Server 2012 Exam Paper 70-411 PDFKesavan Munuswamy
 
Clases abstractas e interfaces
Clases abstractas e interfacesClases abstractas e interfaces
Clases abstractas e interfaceslopezcortes
 
09 Clases Abstractas E Interfaces
09   Clases Abstractas E Interfaces09   Clases Abstractas E Interfaces
09 Clases Abstractas E InterfacesNetwork Sens
 
Sql server 2012 transact sql dml reference
Sql server 2012 transact sql dml referenceSql server 2012 transact sql dml reference
Sql server 2012 transact sql dml referenceU.N.S.C
 
SQL Server Backup and Restore
SQL Server Backup and RestoreSQL Server Backup and Restore
SQL Server Backup and RestoreKesavan Munuswamy
 

Destacado (20)

Introduction to Crystal and Jasper Reports for Novell Sentinel 6.1
Introduction to Crystal and Jasper Reports for Novell Sentinel 6.1Introduction to Crystal and Jasper Reports for Novell Sentinel 6.1
Introduction to Crystal and Jasper Reports for Novell Sentinel 6.1
 
Reporte Java con JasperReport
Reporte Java con JasperReportReporte Java con JasperReport
Reporte Java con JasperReport
 
Ireport
IreportIreport
Ireport
 
Aho hopcroft - estructura de datos y algoritmos p1
Aho   hopcroft - estructura de datos y algoritmos p1Aho   hopcroft - estructura de datos y algoritmos p1
Aho hopcroft - estructura de datos y algoritmos p1
 
Polimorfismo en java
Polimorfismo en javaPolimorfismo en java
Polimorfismo en java
 
delegacion_herencia_polimorfismo
delegacion_herencia_polimorfismodelegacion_herencia_polimorfismo
delegacion_herencia_polimorfismo
 
3 interfaces clases_abstractas_herencia_polimorfismo
3 interfaces clases_abstractas_herencia_polimorfismo3 interfaces clases_abstractas_herencia_polimorfismo
3 interfaces clases_abstractas_herencia_polimorfismo
 
Mcts self paced training kit exam 432 sql server 2008 - implementation and ...
Mcts self paced training kit exam 432   sql server 2008 - implementation and ...Mcts self paced training kit exam 432   sql server 2008 - implementation and ...
Mcts self paced training kit exam 432 sql server 2008 - implementation and ...
 
Clases abstractas
Clases abstractasClases abstractas
Clases abstractas
 
Clases abstractas
Clases abstractasClases abstractas
Clases abstractas
 
Sql server 2012_licensing_reference_guide
Sql server 2012_licensing_reference_guideSql server 2012_licensing_reference_guide
Sql server 2012_licensing_reference_guide
 
Programación III (Java) - 03 Interfaces
Programación III (Java) - 03 InterfacesProgramación III (Java) - 03 Interfaces
Programación III (Java) - 03 Interfaces
 
Interface Design Getting Real
Interface Design Getting RealInterface Design Getting Real
Interface Design Getting Real
 
Estructuras de datos osvaldo cairo
Estructuras de datos   osvaldo cairoEstructuras de datos   osvaldo cairo
Estructuras de datos osvaldo cairo
 
Windows Server 2012 Exam Paper 70-411 PDF
Windows Server 2012 Exam Paper 70-411 PDFWindows Server 2012 Exam Paper 70-411 PDF
Windows Server 2012 Exam Paper 70-411 PDF
 
Clases abstractas e interfaces
Clases abstractas e interfacesClases abstractas e interfaces
Clases abstractas e interfaces
 
09 Clases Abstractas E Interfaces
09   Clases Abstractas E Interfaces09   Clases Abstractas E Interfaces
09 Clases Abstractas E Interfaces
 
MCSA Exam paper 70-412 PDF
MCSA Exam paper 70-412 PDFMCSA Exam paper 70-412 PDF
MCSA Exam paper 70-412 PDF
 
Sql server 2012 transact sql dml reference
Sql server 2012 transact sql dml referenceSql server 2012 transact sql dml reference
Sql server 2012 transact sql dml reference
 
SQL Server Backup and Restore
SQL Server Backup and RestoreSQL Server Backup and Restore
SQL Server Backup and Restore
 

Similar a Informes+con+ireport (2)

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

I report
I reportI report
I report
 
I report
I reportI report
I report
 
⭐Generación de reportes en múltiples formatos con jasper report e ireport
⭐Generación de reportes en múltiples formatos con jasper report e ireport⭐Generación de reportes en múltiples formatos con jasper report e ireport
⭐Generación de reportes en múltiples formatos con jasper report e ireport
 
Reporte
ReporteReporte
Reporte
 
50376518 crear-crystal
50376518 crear-crystal50376518 crear-crystal
50376518 crear-crystal
 
REPORTES
REPORTESREPORTES
REPORTES
 
Presentació1 (1).ppt interfaces graficas
Presentació1 (1).ppt interfaces graficasPresentació1 (1).ppt interfaces graficas
Presentació1 (1).ppt interfaces graficas
 
Introduccionlabview seishoras-090401173537-phpapp02
Introduccionlabview seishoras-090401173537-phpapp02Introduccionlabview seishoras-090401173537-phpapp02
Introduccionlabview seishoras-090401173537-phpapp02
 
Flexsdashboard
Flexsdashboard Flexsdashboard
Flexsdashboard
 
Manual visual fox pro
Manual visual fox proManual visual fox pro
Manual visual fox pro
 
Reporting Services
Reporting ServicesReporting Services
Reporting Services
 
UDA-Componentes RUP. Reporting
UDA-Componentes RUP. ReportingUDA-Componentes RUP. Reporting
UDA-Componentes RUP. Reporting
 
UDA-Componentes RUP. Reporting
UDA-Componentes RUP. ReportingUDA-Componentes RUP. Reporting
UDA-Componentes RUP. Reporting
 
Insight - Architecture Design
Insight - Architecture DesignInsight - Architecture Design
Insight - Architecture Design
 
Introduccion al openoffice
Introduccion al openofficeIntroduccion al openoffice
Introduccion al openoffice
 
DigSILENT PF - 06 ejercicios entrenamiento básico
DigSILENT PF - 06 ejercicios entrenamiento básicoDigSILENT PF - 06 ejercicios entrenamiento básico
DigSILENT PF - 06 ejercicios entrenamiento básico
 
Idea tutorial
Idea tutorialIdea tutorial
Idea tutorial
 
Cacti desde-paquetes
Cacti desde-paquetesCacti desde-paquetes
Cacti desde-paquetes
 
Cacti desde-paquetes
Cacti desde-paquetesCacti desde-paquetes
Cacti desde-paquetes
 
Dinamic area formación mongodb
Dinamic area   formación mongodbDinamic area   formación mongodb
Dinamic area formación mongodb
 

Último

Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperiomiralbaipiales2016
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxdkmeza
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoJosDanielEstradaHern
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 

Último (20)

Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperio
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptx
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° grado
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 

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