JasperReports est un outil de reporting open source pour Java qui génère des rapports applicatifs. Cet outil de reporting permet d’exporter le contenu enrichi des rapports vers des écrans, des imprimantes ou divers formats de fichiers tels que HTML, PDF, XLS, RTF, CSV, XML, ODT et TXT.
JasperReports peut également être utilisé pour des applications compatibles Java telles que Java EE ou des applications web pour générer du contenu dynamique.
Installer JasperReports
Installez Jasper Reports Community Edition à partir d’ici.
https://community.jaspersoft.com/community-download
Structure du rapport Jasper
Le modèle de rapport .jrxml se compose des parties suivantes telles que montrées dans le diagramme ci-dessous.
1. Le titre contient le « titre » du rapport. Il n’apparaît qu’une seule fois au début du rapport. Par exemple, le rapport s’intitule « Rapport étudiant ».
2. Le titre de la page peut inclure des informations sur la date et l’heure ou le nom de l’établissement. Il est affiché en haut de chaque page. Par exemple : le titre de la page peut être « Dossiers des élèves ».
3. Les en-têtes de colonne indiquent les noms des champs spécifiques à afficher dans le rapport, tels que « ID étudiant », « Nom de l’étudiant », « Adresse étudiante », etc.
4. La section d’informations détaillées affiche les entrées pour des champs spécifiques. Par exemple : ID étudiant = 101, Nom de l’étudiant = « Den Peek », Adresse de l’étudiant = « Pune ».
5. Les pieds de page de colonne peuvent afficher la somme de n’importe quel champ. Par exemple, « Temps total d’étude : 6 heures par jour. »
6. Le pied de page peut contenir des informations sur le numéro de page. Il est affiché en bas de chaque page, par exemple : « Numéros de page 1, 2, 3, et tous les numéros de page. »
7. Résumé : Le résumé du rapport, rédigé au moins une fois dans le résumé.
JasperReports — Cycle de vie
Concevez le rapport — À cette étape, nous allons créer un fichier JRXML, qui est un document XML contenant la définition de la mise en page du rapport. Rapport de compilation - À cette étape, JRXML est compilé en un objet binaire nommé Jasper (*.jasper). Remplir les données dans des rapports — à cette étape, les données de l’application sont remplies dans le rapport compilé. La classe net.sf.jasperreports.engine.JasperFillManager fournit les fonctions nécessaires pour remplir les données du rapport. Le système crée un fichier d’impression Jasper (*.jrprint), qui peut être utilisé pour imprimer ou exporter des rapports. Rapport d’exportation - Dans cette étape, nous pouvons utiliser JasperExportManager pour exporter le fichier d’impression Jasper créé à l’étape précédente dans n’importe quel format.
Classe API
Il existe de nombreuses classes pour compiler des conceptions de rapports JRXML, remplir des rapports, imprimer des rapports, les exporter en PDF, HTML et fichiers XML.
Quel contenu contient le package (net.sf.jasperreports.engine) ?
· JasperCompileManager — Utilisé pour compiler des modèles de rapports JRXML. · JasperFillManager — Utilisé pour remplir les rapports à partir de données provenant de sources de données. · JasperPrintManager — Utilisé pour imprimer des documents générés par la bibliothèque JasperReports. · JasperExportManager — Utilisé pour obtenir du contenu PDF, HTML ou XML des documents générés lors du processus de remplissage des rapports.
Source des données
Une source de données est un conteneur de données structurées. Lors de la génération de rapports, le moteur JasperReports récupère les données de la source de données. Les données peuvent être obtenues à partir de bases de données, fichiers XML, tableaux d’objets et collections d’objets.
Le tableau ci-dessous résume les sources de données et leurs classes d’implémentation —
Éléments de données de Jasper Reports
Paramètres : $P $P{parameter_name)
· Il est utilisé pour les valeurs individuelles du rapport.
· Les données qui ne peuvent pas être transmises à travers la source de données peuvent être transmises à travers des paramètres. Par exemple, les titres des rapports et d’autres données.
· Les modèles JasperReports ou JRXML peuvent comporter zéro ou plus d’éléments de paramètres.
Champ : $F $F{field_name}
· Les champs de rapport sont des éléments qui représentent le mappage des données entre les sources de données et les modèles de rapport.
Il est utilisé pour changer de valeurs à chaque itération, ou en d’autres termes, pour représenter une ligne de données dans une table.
Variable : $V $V{variable_name}
· Il est fourni par Jasper Reports.
Il est également utilisé pour effectuer des calculs sur des rapports Jasper, tels que les opérations arithmétiques.
Étapes pour créer un rapport Jasper
1. Concevoir le modèle en copiant le fichier jrxml dans le dossier Spring Resources
2. Créer les paramètres requis
3. Créer des sources de données
4. Compiler le modèle .jrmxl stocké dans l’objet JasperReport
5. Remplir le rapport — en passant les objets, paramètres et sources de données .jrxml compilés.
6. Rapports d’exportation — Utilisez JasperExportManager
Exemple de SpringBoot — JasperReports
Ajoutez les dépendances de Maven.
Contrôleur
Service
emp24.jrxml
Après la course, vous recevrez le rapport généré.http://localhost:8990/empapp/api/v1/reports/jasper/emp24?fileType=doc
JasperReports — Exemple de représentation d’un sous-rapport
Pour les sous-rapports, ouvrez le modèle existant emp.jrxml, et ajoutez un autre modèle user.jrxml comme sous-rapport.
Pour ajouter un rapport enfant au rapport principal, ouvrez le rapport principal, cliquez sur le rapport enfant depuis le panneau, glissez jusqu’à la section résumé, et fournissez les détails suivants.
Sélectionnez « Créer des éléments de rapport enfant uniquement », puis cliquez sur « Suivant ». N’utilisez aucune connexion à la base de données, puis passez à l’étape suivante et terminez. Clic droit > Aligner > Adapter au format largeur/tableau
Pour les sous-rapports User.jrxml, nous transmettons les données des sous-rapports du rapport principal comme paramètre. Pour y parvenir, nous devons ......
Créez un nouveau paramètre comme subReport et le type de données JasperReport comme dans le rapport principal Créer de nouveaux paramètres pour le sous-Datasource et le type de données JRBeanCollectionDataSource Créer de nouveaux paramètres sous-paramètres et type de données Map
Ouvrez maintenant les propriétés du sous-rapport
Éliminer $P{REPORT_CONNECTION} Expression : $P{subReport} Expression de mappage de paramètres : $P{subParameters} Expression de source de données : $P{subReportDataSource}
Désormais, toutes les données que nous faisons passer comme paramètre seront remplies dans le sous-rapport.
Code exemple
empSubreport.jrxml
Testez-le :http://localhost:8990/empapp/api/v1/reports/jasper/subreport?fileType=pdf
Référence:La connexion hyperlientérée est visible. Langue source:La connexion hyperlientérée est visible. |