SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
Génération de rapport avec Jasper Report

                             par Eric Reboisson


                            Date de publication : 05/11/2005

                           Dernière mise à jour : 16/07/2006




   Mise à jour de ce tutoriel avec les nouvelles versions des outils mais aussi
   pour corriger l'absence de certains fichiers dans le tutoriel.
Génération de rapport avec Jasper Report par Eric Reboisson




I - Introduction
II - Création de la base de données
     II-A - Création de la base
     II-B - Création de la table
III - Installation de iReport
IV - Utilisation de iReport
     IV-A - Création d'une connexion
     IV-B - Création du rapport
     IV-C - Compilation du rapport
V - Génération du rapport PDF via JAVA
     V-A - Création du projet ECLIPSE
VI - Conclusion




                                                                     -2-
Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de domages et intérêts.
                                                          tutoriel/java/jasper-report/pdf/
Génération de rapport avec Jasper Report par Eric Reboisson




 I - Introduction

Les applications d'entreprises nécessitent souvent des éditions écran,mais aussi papier, provenants de sources
diverses ( base de données, fichiers XML, etc..)


Les solutions d'implémentation sont diverses :


•     Framework d'entreprise propriétaire
•     Outils payants ( Actuate, Business Objects, etc.)

Cependant des outils issus du libre existent et sont très puissants en terme de fonctionnalités :

•     XSL et XSL-FO pour la mise en forme de données XML
•     Le framework Jasper Report

Nous étudierons dans ce tutoriel l'utilisation de la librairie Jasper Report au travers de la construction d'un rapport
simple via un GUI nommé iReport et de sa génération au format PDF avec du code JAVA.


La source de données choisie est le SGBD MySQL.




                                                                     -3-
Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de domages et intérêts.
                                                          tutoriel/java/jasper-report/pdf/
Génération de rapport avec Jasper Report par Eric Reboisson




 II - Création de la base de données

La source de données choisie pour cet article est MySQL ( J'ai utilisé la version mysql-5.0.20a disponible sur
http://www.mysql.com ). Il est évidemment possible d'en choisir une autre comme Oracle, pourvu que vous
disposiez des drivers JDBC adaptés pour la suite.


Nous supposons que MySQL est installé et que vous disposez des droits nécessaires pour la création des objets
du tutoriel ( base, table )

 II-A - Création de la base

Vous devez vous connecter à votre serveur MySQL et exécuter le script de création de base suivant :

    CREATE DATABASE `jasper_database`;


 II-B - Création de la table

Exécuter le script suivant pour créer la table dans la base jasper_database :

    CREATE TABLE `jasper_database`.`EMPLOYEE` (
      `NOM` VARCHAR(50) NOT NULL,
      `PRENOM` VARCHAR(50) NOT NULL,
      `AGE` NUMERIC NOT NULL,
      `VILLE` VARCHAR(50) NOT NULL,
      PRIMARY KEY(`NOM`)
    ) ;


Exécuter le script suivant pour peupler la table employee

    insert   into   employee    (NOM,PRENOM,AGE,VILLE)         values      ('DUPONT','Paul',25,'PARIS');
    insert   into   employee    (NOM,PRENOM,AGE,VILLE)         values      ('MARTIN','Fred',34,'PARIS');
    insert   into   employee    (NOM,PRENOM,AGE,VILLE)         values      ('WAGNER','Anne',45,'PARIS');
    insert   into   employee    (NOM,PRENOM,AGE,VILLE)         values      ('POLUX','Elea',64,'TOULOUSE');




                                                                     -4-
Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de domages et intérêts.
                                                          tutoriel/java/jasper-report/pdf/
Génération de rapport avec Jasper Report par Eric Reboisson




 III - Installation de iReport

Télécharger iReport sur le site http://ireport.sourceforge.net ( Version 1.2.1 à ce jour )


L'installation de iReport est triviale puisqu'il suffit d'extraire l'archive téléchargée ( ici sur D : ) et d'exécuter
l'application en lançant D:iReport-1.2.1binstartup.bat




                                                                     -5-
Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de domages et intérêts.
                                                          tutoriel/java/jasper-report/pdf/
Génération de rapport avec Jasper Report par Eric Reboisson




 IV - Utilisation de iReport

Nous allons maintenant construire un rapport simple sur la table précédemment créée en utilisant l'assistant fourni
dans iReport .


Ouvrir iReport en exécutant D:iReport-1.2.1binstartup.bat




 IV-A - Création d'une connexion

Ouvrir le menu Data > Datasource > Connections / Datasources




Cliquer sur New et paramétrer la connexion à la base de données comme suit :

                                                                     -6-
Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de domages et intérêts.
                                                          tutoriel/java/jasper-report/pdf/
Génération de rapport avec Jasper Report par Eric Reboisson




Cliquer sur le bouton Test pour vérifier la connexion.




                                                                     -7-
Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de domages et intérêts.
                                                          tutoriel/java/jasper-report/pdf/
Génération de rapport avec Jasper Report par Eric Reboisson




Une fois la connexion valide cliquer sur le bouton Save, la connexion est maintenant créée.


Vous pouvez fermer alors la fenêtre suivante :




 IV-B - Création du rapport

Dans le menu, ouvrir Fichier > Report Wizard et saisir la requête SQL suivante après avoir sélectionné la
connexion précédemment créée :

    select * from employee




                                                                     -8-
Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de domages et intérêts.
                                                          tutoriel/java/jasper-report/pdf/
Génération de rapport avec Jasper Report par Eric Reboisson




Cliquer Next et sélectionner tous les champs en cliquant >>




Cliquer Next




                                                                     -9-
Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de domages et intérêts.
                                                          tutoriel/java/jasper-report/pdf/
Génération de rapport avec Jasper Report par Eric Reboisson




Cliquer Next ( dans ce rapport simple nous ne feront pas de groupement )




Laisser ces valeurs par défaut et cliquer Next




                                                                    - 10 -
Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de domages et intérêts.
                                                          tutoriel/java/jasper-report/pdf/
Génération de rapport avec Jasper Report par Eric Reboisson




Cliquer Finish, le rapport apparaît alors dans le designer




                                                                    - 11 -
Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de domages et intérêts.
                                                          tutoriel/java/jasper-report/pdf/
Génération de rapport avec Jasper Report par Eric Reboisson




 IV-C - Compilation du rapport

Nous allons maintenant générer sous la forme d'un fichier XML dont l'extension est en fait jrxml ( le format utilisé
par la librairie Jasper Report )


Dans le menu, ouvrir Build > Compiler




                                                                    - 12 -
Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de domages et intérêts.
                                                          tutoriel/java/jasper-report/pdf/
Génération de rapport avec Jasper Report par Eric Reboisson




Nous allons là encore laisser par défaut la sauvegarde du fichier classic.jrxml dans le répertoire D:iReport-1.2.1


Cliquer sur Enregistrer, la compilation se lance et une fois terminée vous devriez avoir dans le volet inférieur :

    Compiling to file... .classic.jasper -> D:iReport-1.2.1classic.java
    it.businesslogic.ireport.ReportClassLoader@120cb10
    Compilation running time : 25




                                                                    - 13 -
Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de domages et intérêts.
                                                          tutoriel/java/jasper-report/pdf/
Génération de rapport avec Jasper Report par Eric Reboisson




 V - Génération du rapport PDF via JAVA

Nous allons maintenant créer un projet sous Eclipse et une classe java qui s'occupera de compiler le fichier
classic.jrxml pour en générer un rapport PDF.


Téléchargez et installer J2SE 1.5 SDK.


Si vous ne disposez pas d'Eclipse, téléchargez-le et installez le. Dans ce tutoriel j'ai utilisé la version 3.1.2
d'Eclipse.


Si     ces  deux     premiers     points     vous     posent                    problème,    consultez       la    page       suivante       :
http://www.eclipsetotale.com/articles/installation.html

 V-A - Création du projet ECLIPSE

Nous devons créer et configurer un projet Eclipse. Cette partie est essentielle au bon fonctionnement de la suite.


Ouvrir Fichier > New > Project


Choisissez Java Project puis donnez au projet les caractéristiques suivantes et cliquez sur Finish:




                                                                    - 14 -
Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de domages et intérêts.
                                                          tutoriel/java/jasper-report/pdf/
Génération de rapport avec Jasper Report par Eric Reboisson




1     Veillez à bien cocher quot;Create separate source and output foldersquot;.
2     Si Eclipse vous demande de passer en Java Perspective, répondez quot;Yesquot;.
3     Créez à partir de l'explorateur windows un répertoire quot;libquot; dans la racine de votre projet :
      /eclipse/workspace/jasperTest/lib

Copiez ensuite les fichiers jar suivants se trouvant dans le répertoire quot;libquot; de l'application iReport ( pour moi dans
D:iReport-1.2.1lib ) dans le répertoire quot;libquot; du projet quot;JasperTestquot;.

•     commons-beanutils-1.5.jar
•     commons-collections-2.1.jar
•     commons-digester-1.7.jar
•     commons-logging-1.0.2.jar
•     commons-logging-api-1.0.2.jar
•     itext-1.3.1.jar
•     jasperreports-1.2.1.jar
•     mysql-connector-java-3.1.11-bin.jar


                                                                    - 15 -
Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de domages et intérêts.
                                                          tutoriel/java/jasper-report/pdf/
Génération de rapport avec Jasper Report par Eric Reboisson




Revenez à Eclipse et faites sur le nom du projet quot;jasperTestquot; : quot;Bouton droit > Refreshquot;. Le répertoire quot;libquot; a dû
apparaître.


Nous allons maintenant ajouter au classpath du projet les librairies :

1     Faites sur le projet quot;jasperTestquot; : quot;Bouton Droit > Propertiesquot;
2     Cliquez sur quot;Java Build Pathquot; puis sur l'onglet quot;Librairiesquot;
3     Cliquez sur quot;Add jarsquot;. Une fenêtre apparaît. Déroulez l'arborescence qui doit être quot;jasperTest > libquot; et
      sélectionnez tous les jar présents. Puis cliquez sur quot;OKquot;




Création de la classe JAVA : faites sur le nom du projet quot;jasperTestquot; : quot;Bouton droit > New > Classquot; puis donnez à
la classe les caractéristiques suivantes :




                                                                    - 16 -
Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de domages et intérêts.
                                                          tutoriel/java/jasper-report/pdf/
Génération de rapport avec Jasper Report par Eric Reboisson




Ouvrez ensuite la classe GeneratePDF.java et remplacez le code par le suivant :


Note : Vous devrez peut être remplacer les variables login et le password.

    import   java.sql.Connection;
    import   java.sql.DriverManager;
    import   java.sql.SQLException;
    import   java.util.HashMap;
    import   java.util.Map;
    import   net.sf.jasperreports.engine.JRException;
    import   net.sf.jasperreports.engine.JasperCompileManager;
    import   net.sf.jasperreports.engine.JasperExportManager;
    import   net.sf.jasperreports.engine.JasperFillManager;
    import   net.sf.jasperreports.engine.JasperPrint;
    import   net.sf.jasperreports.engine.JasperReport;
    import   net.sf.jasperreports.engine.design.JasperDesign;
    import   net.sf.jasperreports.engine.xml.JRXmlLoader;
    import com.mysql.jdbc.Driver;



                                                                    - 17 -
Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de domages et intérêts.
                                                          tutoriel/java/jasper-report/pdf/
Génération de rapport avec Jasper Report par Eric Reboisson




    public class GeneratePDF {
         public static void main(String[] args) {
              // - Paramètres de connexion à la base de données
              String url = quot;jdbc:mysql://localhost/jasper_databasequot;;
              String login = quot;rootquot;;
              String password = quot;rootquot;;
              try {
                  // - Connexion à la base
                  Driver monDriver = new com.mysql.jdbc.Driver();
                  DriverManager.registerDriver(monDriver);
                  Connection connection = DriverManager.getConnection(url, login, password);
                    // - Chargement et compilation du rapport
                    JasperDesign jasperDesign = JRXmlLoader.load(quot;D:iReport-1.2.1classic.jrxmlquot;);
                    JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
                    // - Paramètres à envoyer au rapport
                    Map parameters = new HashMap();
                    parameters.put(quot;Titrequot;, quot;Titrequot;);
                    // - Execution du rapport
                    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters,
    connection);
                // - Création du rapport au format PDF
                JasperExportManager.exportReportToPdfFile(jasperPrint,
    quot;D:iReport-1.2.1classic.pdfquot;);
            } catch (JRException e) {
                  e.printStackTrace();
              } catch (SQLException e) {
                  e.printStackTrace();
              } finally {
                  connection.close();
              }
         }
    }


Cliquez ensuite avec le bouton droit sur la classe GeneratePDF.java et dans le menu contextuel cliquez sur Run as
> Java Application afin d'executer la classe.


Un fichier classic.pdf a été généré dans le répertoire D:iReport-1.2.1 , voilà le résultat :




                                                                    - 18 -
Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de domages et intérêts.
                                                          tutoriel/java/jasper-report/pdf/
Génération de rapport avec Jasper Report par Eric Reboisson




                                                                    - 19 -
Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de domages et intérêts.
                                                          tutoriel/java/jasper-report/pdf/
Génération de rapport avec Jasper Report par Eric Reboisson




 VI - Conclusion

Premièrement, un remerciement à Ricky81 pour sa relecture et ses précieux conseils, ainsi qu'aux lecteurs de cet
article qui m'ont remonté leurs remarques.


Cet article vous a essentiellement montré comment démarrer avec la librairie Jasper Report.


Bien souvent les besoins d'entreprise ne se limitent pas à des générations simples de rapport, et les besoins plus
complexes demanderont de connaître l'API JaspertReport plus en détail.


Télécharger l'article au format PDF

•     Création de rapports Jasper avec une base de données ( code java )




                                                                    - 20 -
Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes,
documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de domages et intérêts.
                                                          tutoriel/java/jasper-report/pdf/

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Tp4 - PHP
Tp4 - PHPTp4 - PHP
Tp4 - PHP
 
Java entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfiJava entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfi
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratique
 
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
 
Support distributed computing and caching avec hazelcast
Support distributed computing and caching avec hazelcastSupport distributed computing and caching avec hazelcast
Support distributed computing and caching avec hazelcast
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement web
 
Application web de gestion de recrutement- Recruitement managment system
Application web de gestion de recrutement- Recruitement managment systemApplication web de gestion de recrutement- Recruitement managment system
Application web de gestion de recrutement- Recruitement managment system
 
Introduction au Machine Learning
Introduction au Machine LearningIntroduction au Machine Learning
Introduction au Machine Learning
 
PROJET JAVA BD MySQL
PROJET JAVA BD MySQLPROJET JAVA BD MySQL
PROJET JAVA BD MySQL
 
Cours design pattern m youssfi partie 3 decorateur
Cours design pattern m youssfi partie 3 decorateurCours design pattern m youssfi partie 3 decorateur
Cours design pattern m youssfi partie 3 decorateur
 
Rapport Sockets en Java
Rapport Sockets en JavaRapport Sockets en Java
Rapport Sockets en Java
 
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
 
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...Support de cours EJB 3 version complète Par Mr  Youssfi, ENSET, Université Ha...
Support de cours EJB 3 version complète Par Mr Youssfi, ENSET, Université Ha...
 
Tp java ee.pptx
Tp java ee.pptxTp java ee.pptx
Tp java ee.pptx
 
Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...
 
Mini projet Zabbix
Mini projet ZabbixMini projet Zabbix
Mini projet Zabbix
 
Windows server 2012 r2
Windows server 2012 r2Windows server 2012 r2
Windows server 2012 r2
 
Hive ppt (1)
Hive ppt (1)Hive ppt (1)
Hive ppt (1)
 
Support JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.YoussfiSupport JEE Servlet Jsp MVC M.Youssfi
Support JEE Servlet Jsp MVC M.Youssfi
 

Destaque

Sofrecom - presentation @ MobileMonday Indonesia
Sofrecom - presentation @ MobileMonday IndonesiaSofrecom - presentation @ MobileMonday Indonesia
Sofrecom - presentation @ MobileMonday Indonesia
MobileMonday Indonesia
 
Business plan création d'entreprise : Le KIT !
Business plan création d'entreprise : Le KIT !Business plan création d'entreprise : Le KIT !
Business plan création d'entreprise : Le KIT !
Antonella VILAND
 
Fundido En Tres Partes
Fundido En Tres PartesFundido En Tres Partes
Fundido En Tres Partes
Elbio
 
Benzodiacepinas .pps
Benzodiacepinas .ppsBenzodiacepinas .pps
Benzodiacepinas .pps
joanalopez
 
Comparative analysis of adaptation to climate change processes in Europe
Comparative analysis of adaptation to climate change processes in EuropeComparative analysis of adaptation to climate change processes in Europe
Comparative analysis of adaptation to climate change processes in Europe
Sarah Voirin
 
SMS Catalogue_FRE July 2013
SMS Catalogue_FRE July 2013SMS Catalogue_FRE July 2013
SMS Catalogue_FRE July 2013
M Gomes
 
Bases ii concurso dgo. matte mesias 2010
Bases ii concurso dgo. matte mesias 2010Bases ii concurso dgo. matte mesias 2010
Bases ii concurso dgo. matte mesias 2010
Luis Rodríguez
 

Destaque (20)

Sofrecom - presentation @ MobileMonday Indonesia
Sofrecom - presentation @ MobileMonday IndonesiaSofrecom - presentation @ MobileMonday Indonesia
Sofrecom - presentation @ MobileMonday Indonesia
 
Business plan création d'entreprise : Le KIT !
Business plan création d'entreprise : Le KIT !Business plan création d'entreprise : Le KIT !
Business plan création d'entreprise : Le KIT !
 
Abbes un paradis
Abbes un paradisAbbes un paradis
Abbes un paradis
 
Fundido En Tres Partes
Fundido En Tres PartesFundido En Tres Partes
Fundido En Tres Partes
 
Ejemplos redes sociales
Ejemplos redes socialesEjemplos redes sociales
Ejemplos redes sociales
 
La Veille De Né Kid Du 06.01.2010 : la crise de foi
La Veille De Né Kid Du 06.01.2010 : la crise de foiLa Veille De Né Kid Du 06.01.2010 : la crise de foi
La Veille De Né Kid Du 06.01.2010 : la crise de foi
 
Jessica Cox Tocando El Cielo
Jessica Cox Tocando El CieloJessica Cox Tocando El Cielo
Jessica Cox Tocando El Cielo
 
151127 a collignon_climate change presentation administration communale de Sc...
151127 a collignon_climate change presentation administration communale de Sc...151127 a collignon_climate change presentation administration communale de Sc...
151127 a collignon_climate change presentation administration communale de Sc...
 
Alfabeto Emocional
Alfabeto EmocionalAlfabeto Emocional
Alfabeto Emocional
 
Bm révolution inachevée synthese
Bm révolution inachevée syntheseBm révolution inachevée synthese
Bm révolution inachevée synthese
 
Benzodiacepinas .pps
Benzodiacepinas .ppsBenzodiacepinas .pps
Benzodiacepinas .pps
 
La Final
La FinalLa Final
La Final
 
Diaporama sure les couts de l'externalisation informatique
Diaporama sure les couts de l'externalisation informatiqueDiaporama sure les couts de l'externalisation informatique
Diaporama sure les couts de l'externalisation informatique
 
Comparative analysis of adaptation to climate change processes in Europe
Comparative analysis of adaptation to climate change processes in EuropeComparative analysis of adaptation to climate change processes in Europe
Comparative analysis of adaptation to climate change processes in Europe
 
L’iphonographie
L’iphonographieL’iphonographie
L’iphonographie
 
Práctica III: Contacto Transparente Grupo EPM
Práctica III: Contacto Transparente Grupo EPMPráctica III: Contacto Transparente Grupo EPM
Práctica III: Contacto Transparente Grupo EPM
 
Synthese compte personnel_penibilite(1)
Synthese compte personnel_penibilite(1)Synthese compte personnel_penibilite(1)
Synthese compte personnel_penibilite(1)
 
SMS Catalogue_FRE July 2013
SMS Catalogue_FRE July 2013SMS Catalogue_FRE July 2013
SMS Catalogue_FRE July 2013
 
La lan
La lanLa lan
La lan
 
Bases ii concurso dgo. matte mesias 2010
Bases ii concurso dgo. matte mesias 2010Bases ii concurso dgo. matte mesias 2010
Bases ii concurso dgo. matte mesias 2010
 

Génération de rapport avec Jasper Report

  • 1. Génération de rapport avec Jasper Report par Eric Reboisson Date de publication : 05/11/2005 Dernière mise à jour : 16/07/2006 Mise à jour de ce tutoriel avec les nouvelles versions des outils mais aussi pour corriger l'absence de certains fichiers dans le tutoriel.
  • 2. Génération de rapport avec Jasper Report par Eric Reboisson I - Introduction II - Création de la base de données II-A - Création de la base II-B - Création de la table III - Installation de iReport IV - Utilisation de iReport IV-A - Création d'une connexion IV-B - Création du rapport IV-C - Compilation du rapport V - Génération du rapport PDF via JAVA V-A - Création du projet ECLIPSE VI - Conclusion -2- Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de domages et intérêts. tutoriel/java/jasper-report/pdf/
  • 3. Génération de rapport avec Jasper Report par Eric Reboisson I - Introduction Les applications d'entreprises nécessitent souvent des éditions écran,mais aussi papier, provenants de sources diverses ( base de données, fichiers XML, etc..) Les solutions d'implémentation sont diverses : • Framework d'entreprise propriétaire • Outils payants ( Actuate, Business Objects, etc.) Cependant des outils issus du libre existent et sont très puissants en terme de fonctionnalités : • XSL et XSL-FO pour la mise en forme de données XML • Le framework Jasper Report Nous étudierons dans ce tutoriel l'utilisation de la librairie Jasper Report au travers de la construction d'un rapport simple via un GUI nommé iReport et de sa génération au format PDF avec du code JAVA. La source de données choisie est le SGBD MySQL. -3- Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de domages et intérêts. tutoriel/java/jasper-report/pdf/
  • 4. Génération de rapport avec Jasper Report par Eric Reboisson II - Création de la base de données La source de données choisie pour cet article est MySQL ( J'ai utilisé la version mysql-5.0.20a disponible sur http://www.mysql.com ). Il est évidemment possible d'en choisir une autre comme Oracle, pourvu que vous disposiez des drivers JDBC adaptés pour la suite. Nous supposons que MySQL est installé et que vous disposez des droits nécessaires pour la création des objets du tutoriel ( base, table ) II-A - Création de la base Vous devez vous connecter à votre serveur MySQL et exécuter le script de création de base suivant : CREATE DATABASE `jasper_database`; II-B - Création de la table Exécuter le script suivant pour créer la table dans la base jasper_database : CREATE TABLE `jasper_database`.`EMPLOYEE` ( `NOM` VARCHAR(50) NOT NULL, `PRENOM` VARCHAR(50) NOT NULL, `AGE` NUMERIC NOT NULL, `VILLE` VARCHAR(50) NOT NULL, PRIMARY KEY(`NOM`) ) ; Exécuter le script suivant pour peupler la table employee insert into employee (NOM,PRENOM,AGE,VILLE) values ('DUPONT','Paul',25,'PARIS'); insert into employee (NOM,PRENOM,AGE,VILLE) values ('MARTIN','Fred',34,'PARIS'); insert into employee (NOM,PRENOM,AGE,VILLE) values ('WAGNER','Anne',45,'PARIS'); insert into employee (NOM,PRENOM,AGE,VILLE) values ('POLUX','Elea',64,'TOULOUSE'); -4- Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de domages et intérêts. tutoriel/java/jasper-report/pdf/
  • 5. Génération de rapport avec Jasper Report par Eric Reboisson III - Installation de iReport Télécharger iReport sur le site http://ireport.sourceforge.net ( Version 1.2.1 à ce jour ) L'installation de iReport est triviale puisqu'il suffit d'extraire l'archive téléchargée ( ici sur D : ) et d'exécuter l'application en lançant D:iReport-1.2.1binstartup.bat -5- Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de domages et intérêts. tutoriel/java/jasper-report/pdf/
  • 6. Génération de rapport avec Jasper Report par Eric Reboisson IV - Utilisation de iReport Nous allons maintenant construire un rapport simple sur la table précédemment créée en utilisant l'assistant fourni dans iReport . Ouvrir iReport en exécutant D:iReport-1.2.1binstartup.bat IV-A - Création d'une connexion Ouvrir le menu Data > Datasource > Connections / Datasources Cliquer sur New et paramétrer la connexion à la base de données comme suit : -6- Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de domages et intérêts. tutoriel/java/jasper-report/pdf/
  • 7. Génération de rapport avec Jasper Report par Eric Reboisson Cliquer sur le bouton Test pour vérifier la connexion. -7- Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de domages et intérêts. tutoriel/java/jasper-report/pdf/
  • 8. Génération de rapport avec Jasper Report par Eric Reboisson Une fois la connexion valide cliquer sur le bouton Save, la connexion est maintenant créée. Vous pouvez fermer alors la fenêtre suivante : IV-B - Création du rapport Dans le menu, ouvrir Fichier > Report Wizard et saisir la requête SQL suivante après avoir sélectionné la connexion précédemment créée : select * from employee -8- Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de domages et intérêts. tutoriel/java/jasper-report/pdf/
  • 9. Génération de rapport avec Jasper Report par Eric Reboisson Cliquer Next et sélectionner tous les champs en cliquant >> Cliquer Next -9- Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de domages et intérêts. tutoriel/java/jasper-report/pdf/
  • 10. Génération de rapport avec Jasper Report par Eric Reboisson Cliquer Next ( dans ce rapport simple nous ne feront pas de groupement ) Laisser ces valeurs par défaut et cliquer Next - 10 - Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de domages et intérêts. tutoriel/java/jasper-report/pdf/
  • 11. Génération de rapport avec Jasper Report par Eric Reboisson Cliquer Finish, le rapport apparaît alors dans le designer - 11 - Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de domages et intérêts. tutoriel/java/jasper-report/pdf/
  • 12. Génération de rapport avec Jasper Report par Eric Reboisson IV-C - Compilation du rapport Nous allons maintenant générer sous la forme d'un fichier XML dont l'extension est en fait jrxml ( le format utilisé par la librairie Jasper Report ) Dans le menu, ouvrir Build > Compiler - 12 - Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de domages et intérêts. tutoriel/java/jasper-report/pdf/
  • 13. Génération de rapport avec Jasper Report par Eric Reboisson Nous allons là encore laisser par défaut la sauvegarde du fichier classic.jrxml dans le répertoire D:iReport-1.2.1 Cliquer sur Enregistrer, la compilation se lance et une fois terminée vous devriez avoir dans le volet inférieur : Compiling to file... .classic.jasper -> D:iReport-1.2.1classic.java it.businesslogic.ireport.ReportClassLoader@120cb10 Compilation running time : 25 - 13 - Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de domages et intérêts. tutoriel/java/jasper-report/pdf/
  • 14. Génération de rapport avec Jasper Report par Eric Reboisson V - Génération du rapport PDF via JAVA Nous allons maintenant créer un projet sous Eclipse et une classe java qui s'occupera de compiler le fichier classic.jrxml pour en générer un rapport PDF. Téléchargez et installer J2SE 1.5 SDK. Si vous ne disposez pas d'Eclipse, téléchargez-le et installez le. Dans ce tutoriel j'ai utilisé la version 3.1.2 d'Eclipse. Si ces deux premiers points vous posent problème, consultez la page suivante : http://www.eclipsetotale.com/articles/installation.html V-A - Création du projet ECLIPSE Nous devons créer et configurer un projet Eclipse. Cette partie est essentielle au bon fonctionnement de la suite. Ouvrir Fichier > New > Project Choisissez Java Project puis donnez au projet les caractéristiques suivantes et cliquez sur Finish: - 14 - Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de domages et intérêts. tutoriel/java/jasper-report/pdf/
  • 15. Génération de rapport avec Jasper Report par Eric Reboisson 1 Veillez à bien cocher quot;Create separate source and output foldersquot;. 2 Si Eclipse vous demande de passer en Java Perspective, répondez quot;Yesquot;. 3 Créez à partir de l'explorateur windows un répertoire quot;libquot; dans la racine de votre projet : /eclipse/workspace/jasperTest/lib Copiez ensuite les fichiers jar suivants se trouvant dans le répertoire quot;libquot; de l'application iReport ( pour moi dans D:iReport-1.2.1lib ) dans le répertoire quot;libquot; du projet quot;JasperTestquot;. • commons-beanutils-1.5.jar • commons-collections-2.1.jar • commons-digester-1.7.jar • commons-logging-1.0.2.jar • commons-logging-api-1.0.2.jar • itext-1.3.1.jar • jasperreports-1.2.1.jar • mysql-connector-java-3.1.11-bin.jar - 15 - Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de domages et intérêts. tutoriel/java/jasper-report/pdf/
  • 16. Génération de rapport avec Jasper Report par Eric Reboisson Revenez à Eclipse et faites sur le nom du projet quot;jasperTestquot; : quot;Bouton droit > Refreshquot;. Le répertoire quot;libquot; a dû apparaître. Nous allons maintenant ajouter au classpath du projet les librairies : 1 Faites sur le projet quot;jasperTestquot; : quot;Bouton Droit > Propertiesquot; 2 Cliquez sur quot;Java Build Pathquot; puis sur l'onglet quot;Librairiesquot; 3 Cliquez sur quot;Add jarsquot;. Une fenêtre apparaît. Déroulez l'arborescence qui doit être quot;jasperTest > libquot; et sélectionnez tous les jar présents. Puis cliquez sur quot;OKquot; Création de la classe JAVA : faites sur le nom du projet quot;jasperTestquot; : quot;Bouton droit > New > Classquot; puis donnez à la classe les caractéristiques suivantes : - 16 - Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de domages et intérêts. tutoriel/java/jasper-report/pdf/
  • 17. Génération de rapport avec Jasper Report par Eric Reboisson Ouvrez ensuite la classe GeneratePDF.java et remplacez le code par le suivant : Note : Vous devrez peut être remplacer les variables login et le password. import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.HashMap; import java.util.Map; import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.JasperCompileManager; import net.sf.jasperreports.engine.JasperExportManager; import net.sf.jasperreports.engine.JasperFillManager; import net.sf.jasperreports.engine.JasperPrint; import net.sf.jasperreports.engine.JasperReport; import net.sf.jasperreports.engine.design.JasperDesign; import net.sf.jasperreports.engine.xml.JRXmlLoader; import com.mysql.jdbc.Driver; - 17 - Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de domages et intérêts. tutoriel/java/jasper-report/pdf/
  • 18. Génération de rapport avec Jasper Report par Eric Reboisson public class GeneratePDF { public static void main(String[] args) { // - Paramètres de connexion à la base de données String url = quot;jdbc:mysql://localhost/jasper_databasequot;; String login = quot;rootquot;; String password = quot;rootquot;; try { // - Connexion à la base Driver monDriver = new com.mysql.jdbc.Driver(); DriverManager.registerDriver(monDriver); Connection connection = DriverManager.getConnection(url, login, password); // - Chargement et compilation du rapport JasperDesign jasperDesign = JRXmlLoader.load(quot;D:iReport-1.2.1classic.jrxmlquot;); JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign); // - Paramètres à envoyer au rapport Map parameters = new HashMap(); parameters.put(quot;Titrequot;, quot;Titrequot;); // - Execution du rapport JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, connection); // - Création du rapport au format PDF JasperExportManager.exportReportToPdfFile(jasperPrint, quot;D:iReport-1.2.1classic.pdfquot;); } catch (JRException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { connection.close(); } } } Cliquez ensuite avec le bouton droit sur la classe GeneratePDF.java et dans le menu contextuel cliquez sur Run as > Java Application afin d'executer la classe. Un fichier classic.pdf a été généré dans le répertoire D:iReport-1.2.1 , voilà le résultat : - 18 - Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de domages et intérêts. tutoriel/java/jasper-report/pdf/
  • 19. Génération de rapport avec Jasper Report par Eric Reboisson - 19 - Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de domages et intérêts. tutoriel/java/jasper-report/pdf/
  • 20. Génération de rapport avec Jasper Report par Eric Reboisson VI - Conclusion Premièrement, un remerciement à Ricky81 pour sa relecture et ses précieux conseils, ainsi qu'aux lecteurs de cet article qui m'ont remonté leurs remarques. Cet article vous a essentiellement montré comment démarrer avec la librairie Jasper Report. Bien souvent les besoins d'entreprise ne se limitent pas à des générations simples de rapport, et les besoins plus complexes demanderont de connaître l'API JaspertReport plus en détail. Télécharger l'article au format PDF • Création de rapports Jasper avec une base de données ( code java ) - 20 - Copyright © - Eric Reboisson. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de domages et intérêts. tutoriel/java/jasper-report/pdf/