Vous êtes sur la page 1sur 18

ROYAUME DU MAROC

Office de la Formation Professionnelle et de la Promotion du Travail

www.cours-ofppt.com

Jasper Report

DIRECTION RECHERCHE ET INGENIERIE DE FORMATION


SECTEUR NTIC

ROYAUME DU MAROC

Office de la Formation Professionnelle et de la Promotion du Travail

DIRECTION RECHERCHE ET INGENIERIE DE FORMATION


SECTEUR NTIC

Jasper Report

www.cours-ofppt.com
Sommaire
1. Introduction..........................................................................................2
2. Gnration de rapport avec Jasper Report..................................................2
2.1. Cration de la base de donnes.......................................................2
2.2. Cration de la base........................................................................3
2.3. Cration de la table........................................................................3
3. Installations des outils............................................................................3
3.1. Installation de iReport....................................................................3
3.2. Utilisation de iReport......................................................................4
3.3. Cration dune connexion................................................................4
3.4. Cration du rapport........................................................................6
3.5. Compilation du rapport.................................................................10
3.6. Cration du projet ECLIPSE...........................................................11
3.7. Cration de la classe JAVA.............................................................12
4. Conclusion...........................................................................................15

OFPPT @

Document

Millsime

294242663.doc

09/11/2015

Page
1 - 18

Jasper Report

1. Introduction
JasperReports est un outil (librairie) Open Source puissant utilis pour
la gnration d'tats. Il permet de crer des rapports partir de
fichiers XML. Le rsultat peut tre affich l'cran, imprim ou stock
dans des fichiers au format PDF, HTML, XLS, CSV ou XML.
JasperReports est entirement dvelopp en Java et peut tre intgr
dans une gamme trs varie d'applications Java (y compris les
applications J2EE). Son objectif principal est de fournir un moyen
simple et flexible pour la gnration de documents

2. Gnration de rapport avec Jasper


Report
Les applications dentreprises ncessitent souvent ldition
cran, papier de donnes provenant de sources diverses
( base de donnes, fichiers XML, etc.)
Les solutions dimplmentation sont diverses :
1. Framework dentreprise propritaire ;
2. Outils payants ( Actuate, Business Objects, etc.)

Cependant des outils issus du libre existent et trs puissant en


terme de fonctionnalits :
2. XSL et XSLFO pour la mise en forme de donnes XML
3. Le framework Jasper Report ;

Nous tudierons dans ce tutorial lutilisation de la librairie


Jasper Report au travers de la construction dun rapport simple
via un GUI nomm iReport et de sa gnration au format PDF
dans une classe JAVA.
La base de donnes choisie est MySQL.

2.1.

Cration de la base de donnes

La source de donnes choisie pour cet article est MySQL. Il est


videmment possible d'en choisir une autre comme Oracle, pourvu
que vous disposiez des drivers JDBC adapts.
Nous supposons que MySQL est install et que vous disposez des

OFPPT @

Document

Millsime

294242663.doc

juillet 12

Page
2 - 18

Jasper Report
droits ncessaires pour la cration des objets pour ce tutorial
( base, table )

2.2.

Cration de la base

Vous devez vous connecter votre serveur MySQL et excuter le


script de cration de base suivant :
CREATE DATABASE `jasper_database`;

2.3.

Cration de la table

Crer la table suivante 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`)
);
Nous allons maintenant 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');

3. Installations des outils


3.1.

Installation de iReport

Tlcharger iReport sur le site http://ireport.sourceforge.net


Linstallation de iReport est triviale puisque quil suffit dextraire
larchive tlcharge ( ici sur D : ) et dexcuter lapplication en
lanant D:\iReport-0.5.1\bin\startup.bat

OFPPT @

Document

Millsime

294242663.doc

juillet 12

Page
3 - 18

Jasper Report

3.2.

Utilisation de iReport

Nous allons maintenant crer un rapport simple sur la table


prcdemment cre en utilisant lassistant fournit dans iReport
Ouvrir iReport en excutant D:\iReport-0.5.1\bin\startup.bat

3.3.

Cration dune connexion

Dans le menu ouvrir Datasource > Connections / Datasources

OFPPT @

Document

Millsime

294242663.doc

juillet 12

Page
4 - 18

Jasper Report

Cliquer sur New et paramtrer la connexion la base de donnes


comme suit :

Cliquer sur le bouton Test pour vrifier la connexion

OFPPT @

Document

Millsime

294242663.doc

juillet 12

Page
5 - 18

Jasper Report

Une fois la connexion valide cliquer sur le bouton Save, la


connexion est maintenant cre. Vous pouvez fermer alors la
fentre suivante :

3.4.

Cration du rapport

Dans le menu ouvrir Fichier > Report Wizard et saisir la requte


SQL suivante :
select * from employee

OFPPT @

Document

Millsime

294242663.doc

juillet 12

Page
6 - 18

Jasper Report

Cliquer Next et slectionner tous les champs en cliquant >>

Cliquer Next

OFPPT @

Document

Millsime

294242663.doc

juillet 12

Page
7 - 18

Jasper Report

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


groupement )

Laisser ces valeurs par dfaut et cliquer Next

OFPPT @

Document

Millsime

294242663.doc

juillet 12

Page
8 - 18

Jasper Report

Cliquer Finish, le rapport apparat alors dans le designer

OFPPT @

Document

Millsime

294242663.doc

juillet 12

Page
9 - 18

Jasper Report

3.5.

Compilation du rapport

Nous allons maintenant gnrer sous la forme dun fichier XML dont
lextension est en fait jrxml ( le format utilis par la librairie Jasper
Report )
Dans le menu ouvrir Build > Compiler

Nous allons l encore laisser par dfaut la sauvegarde du fichier


classic.jrxml dans le rpertoire D:\iReport-0.5.1
Cliquer sur Enregistrer, la compilation se lance et une fois termine
vous devriez avoir dans le volet infrieur :
Compiling to file... .\classic.jasper -> D:\iReport-0.5.1\classic.java
it.businesslogic.ireport.ReportClassLoader@a50549
Compilation
running time : 1722
Gnration du rapport PDF via JAVA

Nous allons maintenant crer un projet sous Eclipse, et une classe


java qui soccupera de compiler le fichier classic.jrxml pour en
gnrer un rapport PDF.
Tlchargez et installez J2SE 1.4 SDK.

OFPPT @

Document

Millsime

294242663.doc

juillet 12

Page
10 - 18

Jasper Report
Si vous ne disposez pas d'Eclipse, tlchargez-le et installez le.
Si ces deux premiers points vous pose problme, consultez la page
suivante : http://www.eclipsetotale.com/articles/installation.html

3.6.

Cration du projet ECLIPSE

Nous devons crer et configurer un projet Eclipse. Cette partie est


essentielle au bon fonctionnement de la suite.
Faites "Fichier>New>Project"
Choisissez "Java Project" puis donnez au projet les caractristiques
suivantes :

Veillez bien cocher "Create separate source and output folders".


Si Eclipse vous demande de passer en Java Perspective, rpondez
"Yes".

OFPPT @

Document

Millsime

294242663.doc

juillet 12

Page
11 - 18

Jasper Report
Crez partir de l'explorateur windows un rpertoire "lib" dans la
racine de votre projet : /eclipse/workspace/jasperTest/lib
Tlchargez l'archive libs.zip : ici. Dcompressez son contenu dans
le rpertoire "lib". jasperreports-1.0.1.jar contient les principaux
packages ncessaires au bon fonctionnement de jasper. mysqlconnector-java-3.0.8-stable-bin.jar est un driver JDBC opensource
pour se connecter MySQL. Les autres packages sont
indispensables pour la compilation du rapport.
Revenez Eclipse et faites sur le nom du projet "jasperTest" :
"Bouton droit > Refresh". Le rpertoire "lib" a d apparatre.
Nous allons
librairies :

maintenant ajouter

au classpath du projet les

Faites sur le projet "jasperTest" : "Bouton Droit > Properties"


Cliquez sur "Java Build Path" puis sur l'onglet "Librairies".
Cliquez sur "Add jars". Une fentre apparat. Droulez
l'arborescence qui soit tre "jasperTest > lib" et slectionnez tous
les jar prsents. Puis cliquez sur "OK".

3.7.

Cration de la classe JAVA

Faites sur le nom du projet "jasperTest" : "Bouton droit > New >
Class" puis donner la classe les caractristiques suivantes :

OFPPT @

Document

Millsime

294242663.doc

juillet 12

Page
12 - 18

Jasper Report

Code de la classe GeneratePDF.java


import
import
import
import
import

java.sql.Connection;
java.sql.DriverManager;
java.sql.SQLException;
java.util.HashMap;
java.util.Map;

import
import
import
import
import
import
import
import

net.sf.jasperreports.engine.JRException;
net.sf.jasperreports.engine.JasperCompileManager;
net.sf.jasperreports.engine.JasperExportManager;
net.sf.jasperreports.engine.JasperFillManager;
net.sf.jasperreports.engine.JasperPrint;
net.sf.jasperreports.engine.JasperReport;
net.sf.jasperreports.engine.design.JasperDesign;
net.sf.jasperreports.engine.xml.JRXmlLoader;

import com.mysql.jdbc.Driver;

OFPPT @

Document

Millsime

294242663.doc

juillet 12

Page
13 - 18

Jasper Report
public class GeneratePDF {
public static void main(String[] args) {
// - Paramtres de connexion la base de donnes
String url = "jdbc:mysql://localhost/jasper_database";
String login = "root";
String password = "root";
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("D:\\iReport-0.5.1\\classic.jrxml");
JasperReport jasperReport
JasperCompileManager.compileReport(jasperDesign);

=
=

// - Paramtres envoyer au rapport


Map parameters = new HashMap();
parameters.put("Titre", "Titre");
// - Execution du rapport
JasperPrint
jasperPrint
=
JasperFillManager.fillReport(jasperReport, parameters, connection);
// - Cration du rapport au format PDF
JasperExportManager.exportReportToPdfFile(jasperPrint,
"D:\\iReport-0.5.1\\classic.pdf");
} catch (JRException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

OFPPT @

Document

Millsime

294242663.doc

juillet 12

Page
14 - 18

Jasper Report

4. Conclusion
Cet article vous a essentiellement montr comment dmarrer avec
la librairie Jasper Report, et bien souvent les besoins dentreprise
ne se limitent pas des gnration simple de rapport.
Tlchargez le projet Eclipse de ce tutorial.

OFPPT @

Document

Millsime

294242663.doc

juillet 12

Page
15 - 18

Titre du document

Pour approfondir le sujet.


Proposition de rfrences utiles permettant dapprofondir le thme abord

Sources de rfrence
Citer les auteurs et les sources de rfrence utilises pour llaboration du
support

OFPPT @

Document

Millsime

294242663.doc

juillet 12

Page
16 - 18