JasperReports
Création de rapports avec iReport Designer
iReport Designer est un éditeur gratuit et open source pour les modèles de rapports JasperReports qui facilite la création de rapports évolués.
L'éditeur se divise en trois parties principales :
- la partie de gauche qui permet de définir les Champs, les Paramètres, les Zones
- la partie centrale qui correspond aux zones et sur laquelle nous pouvons faire glisser différents éléments
- la partie de droite qui est la palette d'éléments graphiques d'iReport
Interface d'iReport Designer
De plus, iReport Designer embarque le moteur de JasperReports ce qui lui permet donc de vous afficher le résultat d'un rapport que vous créez. Pour cela, iReport Designer offre de nombreux assistants comme pour la configuration de la source de données par exemple :
Choix de la source de données
Une fois la source de données choisie, iReport offre aussi la possibilité de récupérer les noms des champs impactés par une requête, automatiquement, en cliquant sur le quatrième bouton ci-desous :
Modes d'édition d'iReport Designer
Le bouton Designer indique le mode par défaut, celui qui permet une édition graphique du rapport, le bouton XML permet de visualiser et d'éditer le fichier XML correspondant au rapport en cours de création et enfin le bouton Preview permet de visualiser votre rapport tel qu'il serait généré avec la source de données configurée.
L'un des avantages d'iReport est qu'il permet de placer précisemment les éléments graphiques sur le modèle avec notamment du Drag and Drop :
Drag and Drop
Sur l'exemple ci-dessus, en faisant glisser le champs ORDERID sur la partie centrale de l'interface (et plus particulièrement dans la zone de Detail), iReport place automatiquement dans la zone ColumnHeader le nom du champ. Vous noterez la valeur du champs dans la zone détail : $F{ORDERID}...
De la même manière, il est possible de faire glisser les éléments de la palette graphique d'iReport dont on peut voir un extrait ci-dessous :
Palette
Dans l'exemple qui suit, nous utilisons une base de données avec une table qui contient des commandes. Dans un premier temps nous devons définir la requête qui sera exécutée par le rapport :
Assistant pour les requêtes
Ici nous créeons donc une requête SQL pour sélectionner toutes les informations de la table ORDERS, ainsi, iReport récupère automatiquement le nom des colonnes impactées par cette requête ainsi que leur type (transposé en classe Java). Revenons à l'écran initial d'iReport Designer sur lequel nous avons désormais la liste des Champs que nous pouvons faire glisser comme vous avez pu le voir précédemment :
Liste des champs récupérés depuis la requête
Ainsi, dans cet exemple, nous désirons obtenir un rapport avec la liste des commandes séparées par un trait horizontal, nous réalisons donc le modèle suivant :
Modèle d'exemple
En sélectionnant le mode Preview présenté plus haut, on peut donc générer notre rapport avec les données provenant de notre base de données :
Résultat du rapport généré
Maintenant que nous avons vu comment créer des modèles de rapports avec iReport Designer, je vais vous montrer comment générer des rapports en utilisant la librairie Java JasperReports.