JasperReports este un instrument open-source de raportare pentru Java care generează rapoarte de aplicații. Acest instrument de raportare suportă exportarea conținutului bogat al rapoartelor pe ecrane, imprimante sau diverse formate de fișiere precum HTML, PDF, XLS, RTF, CSV, XML, ODT și TXT.
JasperReports poate fi folosit și pentru aplicații compatibile cu Java, cum ar fi Java EE, sau aplicații web pentru a genera conținut dinamic.
Instalează JasperReports
Instalează Jasper Reports Community Edition de aici.
https://community.jaspersoft.com/community-download
Structura raportului Jasper
Șablonul de raport .jrxml constă din următoarele părți, așa cum este prezentat în diagrama de mai jos.
1. Titlul conține "titlul" raportului. Apare o singură dată la începutul raportului. De exemplu, raportul se intitulează "Student Report".
2. Titlul paginii poate include informații despre dată și oră sau numele instituției. Este afișat în partea de sus a fiecărei pagini. De exemplu: titlul paginii poate fi "Înregistrări ale elevilor."
3. Antetele de coloană listează numele câmpurilor specifice care urmează să fie afișate în raport, cum ar fi "ID student", "Nume student", "Adresa studentului" etc.
4. Secțiunea de informații detaliate afișează intrări pentru câmpuri specifice. De exemplu: Student ID=101, Student Name="Den Peek", Student Address="Pune".
5. Subsolurile de coloană pot arăta suma oricărui câmp. De exemplu, "Timp total de studiu: 6 ore pe zi."
6. Subsolul poate conține informații despre numărul paginii. Este afișat în partea de jos a fiecărei pagini, de exemplu: "Numerele paginilor 1, 2, 3 și toate numerele paginii."
7. Rezumat: Rezumatul raportului, scris cel puțin o dată în rezumat.
JasperReports — Ciclu de viață
Proiectează raportul — În acest pas, vom crea un fișier JRXML, care este un document XML ce conține definiția layout-ului raportului. Raport de compilare - În acest pas, JRXML este compilat într-un obiect binar numit Jasper (*.jasper). Completarea datelor în rapoarte — în acest pas, datele din aplicație sunt completate în raportul compilat. Clasa net.sf.jasperreports.engine.JasperFillManager oferă funcțiile necesare pentru a completa datele raportului. Sistemul va crea un fișier de tipărire Jasper (*.jrprint), care poate fi folosit pentru a tipări sau exporta rapoarte. Raport de export - În acest pas, putem folosi JasperExportManager pentru a exporta fișierul de print Jasper creat în pasul anterior în orice format.
Clasa API
Există multe clase disponibile pentru compilarea designurilor de rapoarte JRXML, completarea rapoartelor, tipărirea rapoartelor, exportarea lor ca fișiere PDF, HTML și XML.
Ce conținut conține pachetul (net.sf.jasperreports.engine)?
· JasperCompileManager — Folosit pentru compilarea șabloanelor de rapoarte JRXML. · JasperFillManager — Folosit pentru a completa rapoarte folosind date din surse de date. · JasperPrintManager — Folosit pentru a tipări documente generate de biblioteca JasperReports. · JasperExportManager — Folosit pentru a obține conținut PDF, HTML sau XML al documentelor generate în timpul procesului de completare a rapoartelor.
Sursa datelor
O sursă de date este un container de date structurat. La generarea rapoartelor, motorul JasperReports preia date din sursa de date. Datele pot fi obținute din baze de date, fișiere XML, array-uri de obiecte și colecții de obiecte.
Tabelul de mai jos rezumă sursele de date și clasele lor de implementare—
Elemente de date Jasper Reports
Parametri: $P $P{parameter_name)
· Este folosit pentru valorile individuale din raport.
· Datele care nu pot fi transmise prin sursa de date pot fi transmise prin parametri. De exemplu, titluri de rapoarte și alte date.
· Șabloanele JasperReports sau JRXML pot avea zero sau mai multe elemente de parametri.
Teren: $F $F{field_name}
· Câmpurile de raport sunt elemente care reprezintă maparea datelor între sursele de date și șabloanele de raport.
Este folosit pentru a schimba valorile în fiecare iterație sau, cu alte cuvinte, pentru a reprezenta un rând de date dintr-un tabel.
Variabilă: $V $V{variable_name}
· Este furnizat de rapoartele Jasper.
Este folosit și pentru a efectua calcule pe rapoartele Jasper, cum ar fi operații aritmetice.
Pași pentru a crea orice raport Jasper
1. Proiectează șablonul copiind fișierul jrxml în folderul Spring Resources
2. Crearea parametrilor necesari
3. Crearea surselor de date
4. Compilați șablonul .jrmxl stocat în obiectul JasperReport
5. Completați raportul — prin trecerea obiectelor, parametrilor și surselor de date compilate .jrxml.
6. Rapoarte de export — Folosește JasperExportManager
Exemplu de SpringBoot — JasperReports
Adaugă dependențe de Maven.
Controler
Serviciu
emp24.jrxml
După ce ai rulat, vei primi raportul generat.http://localhost:8990/empapp/api/v1/reports/jasper/emp24?fileType=doc
JasperReports — Exemplu de reprezentare subraportată
Pentru subrapoarte, deschide șablonul existent emp.jrxml și adaugă un alt șablon user.jrxml ca subraport.
Pentru a adăuga un raport copil la raportul principal, deschideți raportul principal, faceți clic pe raportul copil din panou, trageți-l în zona rezumat și oferiți următoarele detalii.
Selectează "Creează elemente de raport doar copil", apoi apasă pe "Următorul". Nu folosi nicio conexiune la baza de date, apoi treci la pasul următor și termină. Click dreapta > Aliniază > adaptează la formatul lățimii/tabelului
Pentru subrapoartele User.jrxml, vom transmite datele subrapoartelor din raportul principal ca parametru. Pentru a realiza acest lucru, avem nevoie de ......
Creează un parametru nou, cum ar fi subReport și tipul de date JasperReport ca în raportul principal Creează parametri noi pentru subDatasource și tip de date JRBeanCollectionDataSource Creează noi parametri subParameters și tip de date Map
Acum deschide proprietățile subraportului
Elimină $P{REPORT_CONNECTION} Expresie: $P{subRaport} Expresie de mapare a parametrilor: $P{subParameters} Expresia sursei datelor: $P{subReportDataSource}
Acum, orice date pe care le transmitem ca parametru vor fi completate în subraport.
Cod exemplu
empSubreport.jrxml
Testează-l:http://localhost:8990/empapp/api/v1/reports/jasper/subreport?fileType=pdf
Referință:Autentificarea cu hyperlink este vizibilă. Original:Autentificarea cu hyperlink este vizibilă. |