"JasperReports" yra atvirojo kodo ataskaitų teikimo įrankis, skirtas "Java", generuojantis programų ataskaitas. Šis ataskaitų teikimo įrankis palaiko raiškiosios ataskaitos turinio eksportavimą į ekranus, spausdintuvus arba įvairius failų formatus, pvz., HTML, PDF, XLS, RTF, CSV, XML, ODT ir TXT.
"JasperReports" taip pat gali būti naudojama "Java" palaikančioms programoms, tokioms kaip "Java EE", arba žiniatinklio programoms dinaminiam turiniui generuoti.
Įdiekite "JasperReports"
Įdiekite "Jasper Reports Community Edition" iš čia.
https://community.jaspersoft.com/community-download
Jasper ataskaitos struktūra
.jrxml ataskaitos šabloną sudaro šios dalys, kaip parodyta toliau pateiktoje diagramoje.
1. Pavadinime yra ataskaitos "antraštė". Jis pasirodo tik vieną kartą ataskaitos pradžioje. Pavyzdžiui, ataskaita pavadinta "Studento ataskaita".
2. Puslapio pavadinime gali būti datos ir laiko informacija arba įstaigos pavadinimas. Jis rodomas kiekvieno puslapio viršuje. Pavyzdžiui: puslapio pavadinimas gali būti "Studentų įrašai".
3. Stulpelių antraštėse pateikiami konkrečių laukų, kurie bus rodomi ataskaitoje, pavadinimai, pvz., "Studento ID", "Studento vardas", "Studento adresas" ir kt.
4. Išsamios informacijos skiltyje rodomi konkrečių laukų įrašai. Pavyzdžiui: Studento ID=101, Studento vardas="Den Peek", Studento adresas="Pune".
5. Stulpelių poraštėse gali būti rodoma bet kurio lauko suma. Pavyzdžiui, "Bendras studijų laikas: 6 valandos per dieną".
6. Poraštėje gali būti puslapio numerio informacija. Jis rodomas kiekvieno puslapio apačioje, pavyzdžiui: "1, 2, 3 puslapių numeriai ir visi puslapių numeriai".
7. Santrauka: ataskaitos santrauka, parašyta bent kartą santraukoje.
JasperReports – gyvavimo ciklas
Ataskaitos kūrimas – Šiame žingsnyje sukursime JRXML failą, kuris yra XML dokumentas, kuriame yra ataskaitos maketo apibrėžimas. Kompiliavimo ataskaita – šiame veiksme JRXML kompiliuojamas į dvejetainį objektą, pavadintą Jasper (*.jasper). Duomenų pildymas į ataskaitas – šiame veiksme programos duomenys užpildomi sukompiliuotoje ataskaitoje. Klasė net.sf.jasperreports.engine.JasperFillManager teikia būtinas funkcijas, reikalingas ataskaitos duomenims užpildyti. Sistema sukurs Jasper spausdinimo failą (*.jrprint), kurį galima naudoti ataskaitoms spausdinti arba eksportuoti. Eksportuoti ataskaitą - Šiame žingsnyje galime naudoti "JasperExportManager", kad eksportuotume ankstesniame žingsnyje sukurtą "Jasper" spausdinimo failą į bet kokį formatą.
API klasė
Yra daug klasių, skirtų JRXML ataskaitų dizainui sudaryti, ataskaitų pildymui, ataskaitų spausdinimui, eksportavimui kaip PDF, HTML ir XML failams.
Koks turinys yra (net.sf.jasperreports.engine) pakete?
· JasperCompileManager – naudojamas JRXML ataskaitų šablonams kompiliuoti. · JasperFillManager – naudojamas ataskaitoms pildyti naudojant duomenis iš duomenų šaltinių. · JasperPrintManager – naudojamas JasperReports bibliotekos sugeneruotiems dokumentams spausdinti. · JasperExportManager – naudojamas ataskaitų pildymo proceso metu sugeneruotų dokumentų PDF, HTML arba XML turiniui gauti.
Duomenų šaltinis
Duomenų šaltinis yra struktūrizuotas duomenų konteineris. Generuojant ataskaitas, "JasperReports" variklis nuskaito duomenis iš duomenų šaltinio. Duomenis galima gauti iš duomenų bazių, XML failų, objektų masyvų ir objektų rinkinių.
Žemiau esančioje lentelėje apibendrinami duomenų šaltiniai ir jų įgyvendinimo klasės:
"Jasper Reports" duomenų elementai
Parametrai: $P $P{parameter_name)
· Jis naudojamas atskiroms ataskaitos reikšmėms.
· Duomenys, kurių negalima perduoti per duomenų šaltinį, gali būti perduodami per parametrus. Pavyzdžiui, ataskaitų pavadinimai ir kiti duomenys.
· "JasperReports" arba "JRXML" šablonuose gali būti nulis arba daugiau parametrų elementų.
Laukas: $F $F{field_name}
· Ataskaitos laukai yra elementai, atspindintys duomenų susiejimą tarp duomenų šaltinių ir ataskaitų šablonų.
Jis naudojamas kiekvienos iteracijos reikšmėms keisti arba, kitaip tariant, lentelės duomenų eilutei pavaizduoti.
Kintamasis: $V $V{variable_name}
· Jį pateikia Jasper pranešimai.
Jis taip pat naudojamas Jasper ataskaitų skaičiavimams, pvz., aritmetinėms operacijoms, atlikti.
Bet kokios "Jasper" ataskaitos kūrimo veiksmai
1. Sukurkite šabloną nukopijuodami jrxml failą į pavasario išteklių aplanką
2. Sukurkite reikiamus parametrus
3. Duomenų šaltinių kūrimas
4. Kompiliuokite .jrmxl šabloną, saugomą JasperReport objekte
5. Užpildykite ataskaitą – perduodami sukompiliuotus .jrxml objektus, parametrus ir duomenų šaltinius.
6. Eksportuokite ataskaitas – naudokite "JasperExportManager"
"SpringBoot" pavyzdys – "JasperReports"
Pridėkite "Maven" priklausomybes.
Valdiklis
Paslauga
emp24.jrxml
Paleidę gausite sugeneruotą ataskaitą.http://localhost:8990/empapp/api/v1/reports/jasper/emp24?fileType=doc
JasperReports – antrinės ataskaitos atvaizdavimo pavyzdys
Jei naudojate antrines ataskaitas, atidarykite esamą šabloną emp.jrxml ir įtraukite kitą šabloną user.jrxml kaip antrinę ataskaitą.
Norėdami įtraukti antrinę ataskaitą į pagrindinę ataskaitą, atidarykite pagrindinę ataskaitą, skydelyje spustelėkite antrinę ataskaitą, vilkite ją į suvestinės sritį ir pateikite toliau nurodytą informaciją.
Pasirinkite "Create only child report elements", tada spustelėkite "Next". Nenaudokite jokių duomenų bazės ryšių, tada pereikite prie kito veiksmo ir baikite. Dešiniuoju pelės mygtuku spustelėkite > Lygiuoti > Pritaikyti prie pločio / lentelės formato
User.jrxml antrinėms ataskaitoms kaip parametrą perduosime antrinės ataskaitos duomenis iš pagrindinės ataskaitos. Kad tai pasiektume, turime ......
Sukurkite naują parametrą, pvz., antrinę ataskaitą ir duomenų tipą JasperReport, kaip pagrindinėje ataskaitoje Kurti naujus subDatasource ir duomenų tipo JRBeanCollectionDataSource parametrus Kurti naujus parametrus subParametrai ir duomenų tipas Žemėlapis
Dabar atidarykite antrinės ataskaitos ypatybes
Pašalinti $P{REPORT_CONNECTION} Išraiška: $P{subReport} Parametrų susiejimo išraiška: $P{subParameters} Duomenų šaltinio išraiška: $P{subReportDataSource}
Dabar visi duomenys, kuriuos perduodame kaip parametrą, bus užpildyti antrinėje ataskaitoje.
Pavyzdžio kodas
empSubreport.jrxml
Išbandykite jį:http://localhost:8990/empapp/api/v1/reports/jasper/subreport?fileType=pdf
Nuoroda:Hipersaito prisijungimas matomas. Originalus:Hipersaito prisijungimas matomas. |