A JasperReports egy nyílt forráskódú jelentési eszköz Java-ra, amely alkalmazásjelentéseket generál. Ez a jelentési eszköz támogatja a gazdag jelentéstartalom exportálását képernyőkre, nyomtatókra vagy különböző fájlformátumokra, mint például HTML, PDF, XLS, RTF, CSV, XML, ODT és TXT.
A JasperReports használható Java-kompatibilis alkalmazásokhoz, például Java EE-hez vagy webalkalmazásokhoz is dinamikus tartalom generálásához.
Telepítsd a JasperReports-t
Telepítsd a Jasper Reports Community Edition-t innen.
https://community.jaspersoft.com/community-download
Jasper jelentés szerkezete
A .jrxml jelentés sablon a következő részekből áll, ahogy az alábbi ábrán látható.
1. A cím tartalmazza a jelentés "címét". Csak egyszer jelenik meg a jelentés elején. Például a jelentés címe "Diákjelentés".
2. Az oldal címe tartalmazhatja a dátum és az időpont adatait vagy az intézmény nevét. Minden oldal tetején látható. Például: az oldal címe lehet "Hallgatói Nyilvántartások".
3. Az oszlopfejlécek felsorolják a jelentésben megjelenítendő konkrét mezők nevét, például "Hallgatói igazolvó", "Diák név", "Diák cím" stb.
4. A részletes információs rész adott területek bejegyzéseit mutatja be. Például: Student ID=101, Student Name="Den Peek", Student Address="Pune".
5. Az oszloplábalapok bármely mező összegét megjeleníthetik. Például: "Teljes tanulási idő: napi 6 óra."
6. Az alaplap tartalmazhat oldalszám-információkat. Minden oldal alján látható, például: "1, 2, 3 oldalszám, és minden oldalszám."
7. Kivonat: A jelentés összefoglalója, amelyet legalább egyszer megírtak az absztraktban.
JasperReports — Életciklus
A jelentés tervezése — Ebben a lépésben létrehozunk egy JRXML fájlt, amely egy XML dokumentum, amely tartalmazza a jelentés elrendezésének definícióját. Fordítási jelentés – Ebben a lépésben a JRXML egy bináris objektumba, amelynek neve Jasper (*.jasper). Adatok jelentésbe töltése – ebben a lépésben az alkalmazás adatai bekerülnek a leállított jelentésbe. A net.sf.jasperreports.engine.JasperFillManager osztály biztosítja a jelentésadatok kitöltéséhez szükséges funkciókat. A rendszer létrehoz egy Jasper nyomtatási fájlt (*.jrprint), amely jelentések nyomtatására vagy exportálására használható. Export jelentés – Ebben a lépésben a JasperExportManager segítségével exportálhatjuk az előző lépésben létrehozott Jasper nyomtatófájlt bármilyen formátumba.
API osztály
Számos osztály áll rendelkezésre JRXML jelentéstervek fordítására, jelentések kitöltésére, jelentések nyomtatására, valamint PDF, HTML és XML fájlok exportjára.
Milyen tartalmat tartalmaz a (net.sf.jasperreports.engine) csomag?
· JasperCompileManager — JRXML jelentéssablonok fordításához használjuk. · JasperFillManager — Jelentések töltésére használják adatforrásokból származó adatok felhasználásával. · JasperPrintManager — A JasperReports könyvtár által generált dokumentumok nyomtatására szolgál. · JasperExportManager — PDF, HTML vagy XML tartalom letöltésére szolgál, amelyek a jelentéskitöltés során generált dokumentumokról.
Adatforrás
Az adatforrás egy strukturált adattároló. Jelentések generálásakor a JasperReports motor adatokat kér az adatforrásból. Az adatok adatbázisokból, XML fájlokból, objektumtömbökből és objektumgyűjteményekből szerezhetők be.
Az alábbi táblázat összefoglalja az adatforrásokat és azok megvalósítási osztályait –
Jasper Reports adatelemek
Paraméterek: $P $P{parameter_name)
· A jelentésben az egyes értékekre használják.
· Az adatforráson nem átjuttatható adatok paramétereken keresztül is átadhatók. Például jelentés címek és egyéb adatok.
· A JasperReports vagy JRXML sablonok lehetnek nulla vagy több paraméterelemmel.
Mező: $F $F{field_name}
· A jelentésmezők olyan elemek, amelyek az adatforrások és a jelentéssablonok közötti adatleképezést képviselik.
Minden iterációban értékek megváltoztatására használják, vagyis egy adatsor ábrázolására egy táblázatban.
Változó: $V $V{variable_name}
· A Jasper jelentései szolgáltatják.
Jasper-jelentések számításaira is használják, például aritmetikai műveletek végrehajtására.
Lépések bármilyen Jasper-jelentés létrehozásához
1. Tervezd meg a sablont úgy, hogy a jrxml fájlt a Spring Resources mappába másolod
2. Hozd létre a szükséges paramétereket
3. Adatforrások létrehozása
4. Fordítsd le a .jrmxl sablont, amely a JasperReport objektumban tárolt
5. Töltse ki a jelentést – a lefordított .jrxml objektumok, paraméterek és adatforrások továbbításával.
6. Jelentések exportálása — Használja a JasperExportManager-t
SpringBoot példa — JasperReports
Adj hozzá Maven-függőségeket.
Vezérlő
Szolgálat
emp24.jrxml
Futás után megkapod a generált jelentést.http://localhost:8990/empapp/api/v1/reports/jasper/emp24?fileType=doc
JasperReports — Példa egy aljelentés reprezentációra
Aljelentésekhez nyisd meg a meglévő emp.jrxml sablont, és adj hozzá egy másik user.jrxml sablont aljelentésként.
Ha gyermekjelentést szeretnél hozzáadni a fő jelentéshez, nyisd meg a fő jelentést, kattints a gyermekjelentésre a panelről, húzd a összefoglaló területre, és add meg a következő részleteket.
Válaszd ki, hogy csak gyermek jelentés elemeket hozz létre, majd kattints a "Next" gombra. Ne használj adatbázis-kapcsolatot, majd lépj a következő lépésre, és fejezd be. Jobb kattintással > Igazítsd > igazítsd a szélesség/tábla formátumhoz
A User.jrxml aljelentések esetén a fő jelentésből származó aljelentés adatait paraméterként továbbítjuk. Ehhez szükségünk van ......
Hozz létre egy új paramétert, például subReport, és a JasperReport adattípust, ahogy a fő jelentésben szerepel Új paraméterek létrehozása a subDatasource és adattípus JRBeanCollectionDataSource számára Új paraméterek létrehozása alParaméterek és adattípus Térkép
Most nyisd meg az aljelentés tulajdonságait
Töröld $P{REPORT_CONNECTION} Kifejezés: $P{subReport} Paraméterleképezési kifejezés: $P{subParameters} Adatforrás kifejezés: $P{subReportDataSource}
Most, minden adatot, amit paraméterként továbbítunk, az aljelentésbe kerül.
Mintakód
empSubreport.jrxml
Tesztelje őt:http://localhost:8990/empapp/api/v1/reports/jasper/subreport?fileType=pdf
Utalás:A hiperlink bejelentkezés látható. Eredeti:A hiperlink bejelentkezés látható. |