JasperReports oktatóanyag: Mire való a Jasper Report? Java?
⚡ Okos összefoglaló
JasperReports ehhez: Java egy nyílt forráskódú jelentéskészítő motor, amely az alkalmazásadatokat pixelpontos dokumentumokká alakítja. Ez a cikk ismerteti a jelentéskészítési életciklust, a Jaspersoft Studio telepítését, a jelentéssablonok létrehozását, a sávszerkezetet, a Pentaho összehasonlítást és a csapatok által tapasztalt gyakorlati korlátokat.

Mire való a JasperReports? Java?
JasperReports egy nyílt forráskódú jelentéskészítő eszköz Java amelyet alkalmazások jelentéskészítésére használnak. Ez a jelentéskészítő eszköz segít gazdag tartalom írásában a képernyőre, a nyomtatóra vagy különféle fájlokba, például HTML, PDF, XLS, RTF, CSV, XML, ODT és TXT formátumban. A JasperReports a következőkre is használható: Java-engedélyezett alkalmazások, mint pl Java EE vagy webes alkalmazások dinamikus tartalom generálására.
A legtöbb beszélgetésben három terméknév jelenik meg együtt, és a korai elkülönítésük megakadályozza a későbbi félreértéseket ezen az oldalon.
| Név | Ami | Ki használja |
|---|---|---|
| JasperReports Könyvtár | Az Java jelentéseket összeállító, kitöltő és exportáló könyvtár | Java fejlesztők jelentéseket ágyaznak be egy alkalmazásba |
| Jaspersoft Stúdió | Az Eclipse vizuális tervező, aki JRXML fájlokat készít | Jelentéstervezők készítenek elrendezéseket |
| JasperReports szerver | Egy önálló szerver, amely tárolja, ütemezi és kézbesíti a jelentéseket | Csapatok, akik jelentéseket osztanak meg az üzleti felhasználóknak |
Ez az oldal a könyvtárra és a Jaspersoft Studio-ra összpontosít, mivel ez a két komponens elegendő egy első jelentés megtervezéséhez és futtatásához. Fontos megjegyezni, hogy a közösségi kiadás mostantól csak ezt a két komponenst tartalmazza, mivel a JasperReports Server már nem érhető el közösségi letöltésként.
Miért használja a Jasper Reports szolgáltatást?
Íme számos ok, amiért érdemes Jasper jelentéskészítő eszközt használni:
- Jelentéskészítési teljesítményt és kézbesítést kínál a felhasználóknak.
- Segít az adatok szöveges vagy grafikus formátumban történő megjelenítésében.
- Ez egy önálló és beágyazott jelentéskészítő szerver a jelentések összeállításához és végrehajtásához.
- Lehetővé teszi a szerepkör alapú hozzáférés-szabályozást a lerakatban lévő összes jelentéshez.
- A Spring Security keretrendszer integrálható a házon belüli hitelesítési rendszerekkel.
- Biztonságos, ütemezett és automatikusan kézbesített interaktív jelentéskészítő motort kínál.
- Beágyazhat jelentéseket Java vagy nemJava alkalmazásokat.
- Különféle formátumú jelentések exportálhatók.
- Képes vízjeleket generálni, amelyeket az elsődleges kép fölé helyez.
- Teljes készletet kínál SOAP, REST és webszolgáltatások.
- Lehetővé teszi egyetlen jelentés adatainak használatát több adatforrásból.
Mivel a könyvtár LGPL licenc alatt kerül kiadásra, kereskedelmi termékekbe is beépíthető helyenkénti díj nélkül, ami az oka annak, hogy sok... Java a csapatok a saját jelentéskészítő motorok helyett ezt választják.
A Jasper Reports jellemzői
Most a JasperReports funkcióit fogjuk áttekinteni.
Íme a Jasper Reports eszköz fontosabb funkciói:
- Rugalmas jelentéselrendezést kínál sávok, oszlopok és szabad formátumú régiók között.
- A fejlesztők többféleképpen is megadhatják az adatokat, beleértve JavaBean-gyűjtemények, SQL-lekérdezések és XML-dokumentumok.
- Több adatforrás kombinálható egyetlen jelentésben aljelentések és adatadapterek segítségével.
- Vízjelek az elsődleges képre is alkalmazhatók.
- Létrehozhat olyan részjelentéseket, amelyek egy szülő elrendezésbe vannak beágyazva.
- Segít a jelentések exportálásában különféle formátumokban, mint pl PDF, HTML, RTF és Microsoft Excel fájlok.
- A motor lehetővé teszi a jelentésdefiníciók számára, hogy olyan diagramokat tartalmazzanak, mint az oszlop-, kör-, vonal- és idősordiagramok.
- A jelentéskifejezések a következőképpen írhatók: Java, Groovyvagy JavaForgatókönyv.
Ezek a képességek egy rögzített feldolgozási sorrenden keresztül érhetők el, amelyet a következő szakasz szakaszonként ismertet.
A JasperReports életciklusa
Most a JasperReports életciklusát fogjuk megismerni.
A Jasper Reports életciklusának általános folyamata a következő:
A fenti ábra sorrendben mutatja a négy szakaszt. Minden szakasz létrehoz egy fájlt, amely a következő szakasz bemenete lesz, ezért a sorrend soha nem fordítható meg.
| Színpad | Bemenet | teljesítmény | Fájlkiterjesztés |
|---|---|---|---|
| Tervezés | Elrendezési döntések | Jelentéssablon | .jrxml fájl |
| összeállítása | .jrxml fájl | Lefordított bináris sablon | .jáspis |
| Végrehajtó | .jasper fájl és adatok | Kitöltött jelentés | .jrprint fájl |
| Exportálása | .jrprint fájl | Záró dokumentum | .pdf, .html, .xls és mások |
A jelentés megtervezése
Ez lesz az első lépés, ahol létrehozzuk a JRXML fájlt. Ez egy egyszerű XML dokumentum, amely meghatározza a jelentés elrendezését. Ezt a fájlt bármilyen szövegszerkesztővel vagy egy jelentéstervezővel létrehozhatod.
Ha azonban a jelentéstervezőt használja, akkor vizualizálhatjuk a jelentés elrendezését, és a JRXML valódi szerkezete figyelmen kívül hagyható.
A jelentés összeállítása
Ebben az életciklus-szakaszban lefordítják az első szakaszban felépített JRXML-t, és létrehoznak egy Jasper fájlnak nevezett bináris objektumot (jasper kiterjesztésű fájl).
Ez az összeállítás a jobb teljesítmény érdekében készült a végrehajtás során. Ezeket a generált Jasper fájlokat az alkalmazással együtt kell szállítani a jelentések futtatásához.
A jelentés végrehajtása
Ebben a szakaszban összegyűjtik az alkalmazásból származó adatokat, és kitöltik az összeállított jelentésformátumban. Van egy net.sf.jasperreports.engine.JasperFillManager nevű osztály, amely funkciókat kínál a jelentések adatainak kitöltéséhez.
A kimenet egy Jasper nyomtatási fájlban (jrprint kiterjesztésű fájl) lesz tárolva, amely felhasználható a jelentés nyomtatására vagy exportálására.
A jelentés exportálása a kívánt formátumba
Ebben az utolsó szakaszban exportálnia kell a korábban létrehozott Jasper nyomtatási fájlt bármilyen formátumba a JasperExportManager osztály használatával. Mivel a Jasper többféle exportálási formátumot kínál, ugyanazt a bemenetet használhatjuk az adatok különféle reprezentációinak létrehozásához.
A Jasper Reports telepítése – Környezet beállítása
Most pedig ismerjük meg a JasperReports környezet beállításának lépésről lépésre történő folyamatát. Az alábbi képernyőképeket a 6.9-es telepítővel készítettük. A jelenlegi közösségi kiadás a 6.21.3, amely 2024. április 23-án jelent meg, és a képernyőképek sorrendje változatlan, bár a fájlnévben szereplő verziószám eltér.
Step 1) Töltse le a Jasper Reports közösségi kiadását
Menjen erre Link és kattintson a Letöltés most lehetőségre a Jasper Reports közösségi kiadásának telepítéséhez.
Step 2) Válassza a Jaspersoft Studio CE-t
A közösségi kiadások közül válaszd a Jaspersoft Studio CE-t.
Step 3) Töltse le a Jaspersoft Studio-t
Menjen erre link és kattintson a Letöltés gombra, majd nyissa meg az operációs rendszeréhez letöltött telepítőfájlt.
Step 4) Kattintson az Elfogadom gombra
A következő képernyő jelenik meg. Válassza az Elfogadom gombot.
Step 5) Válassza ki a helyet
Válassza ki a telepítési helyet, majd kattintson a Tovább gombra.
Step 6) A haladás most zajlik
A folyamatot a következő képernyőn láthatja.
Step 7) Kattintson a befejezés gombra
A következő képernyőn kattintson a Befejezés gombra.
Step 8) A haladás befejeződött
A következő képernyő jelenik meg az ablakban.
Step 9) Első lépések
Ezután kattintson az Első lépések lehetőségre.
Step 10) Kezdjen el dolgozni a Jasper Reports stúdióval
A következő képernyő jelenik meg, és elkezdheti használni a Jasper Reports stúdiót.
💡 Tipp: A Jaspersoft Studio egy Eclipse alapú alkalmazás, és kompatibilis eszközt igényel Java futtatókörnyezet jelen van a gépen. Ha a telepítő nem hajlandó elindulni, az újratelepítés előtt ellenőrizze a telepített JDK verziót.
Példa jelentéssablon létrehozására
Most pedig nézzük meg, hogyan hozhatunk létre jelentéssablonokat a JasperReportsban.
A JasperReportsban használt jelentéssablonfájl egy egyszerű XML fájl, amelynek kiterjesztése jrxml. Ez a fájl a jasperReport taget tartalmazza gyökérelemként. A JasperReports keretrendszer különböző típusú adatforrásokat képes kezelni.
Egy jelentéssablon megtervezése és létrehozása a következő lépésekkel történik.
Step 1) JRXML fájl létrehozása a Jaspersoft Studióban.
- Lépjen a Fájl opcióra.
- Válassza az Új almenüt.
- Kattintson a Jasper-jelentés opcióra.
Step 2) A kívánt sablon kiválasztása.
- Válassza ki a sablont, például cseresznye.
- Kattintson a „Next” gombra.
Step 3) Szülőmappa kiválasztása.
- Válassza ki a Saját jelentések mappát.
- Adja meg a fájl nevét, például „Cherry Report”.
- Kattintson a „Next” gombra.
Step 4) Az Adatforrás ablakban kattintson az „Új” gombra egy új adatadapter létrehozásához.
Step 5) Adatadapter kiválasztása.
- Válassza ki az adatadaptert a listából. Például: „Gyűjtemény JavaBab.”
- Kattintson a „Next” gombra.
Step 6) Adatadapter adatainak megadása és a gyári osztály kiválasztása.
- Adja meg az adapter nevét.
- Válassza ki a gyári osztályt a „…” gombra kattintva.
Step 7) Az előtag vagy minta megadása.
- Adja meg a név előtagját vagy mintáját.
- Kattintson a megfelelő elemekre.
- Kattintson az „OK” gombra.
Step 8) A factory osztály definiálása és a jar fájlok elérési útjának hozzáadása.
- Írja be a statikus metódus nevét a gyári osztályba. Ebben a Jasper-jelentési példában ez a createBeanCollection.
- Ha a JavaA Beans definícióhoz mezőleírások tartoznak, és ha ezeket névként szeretnéd használni a Jaspersoft Studio-ban, jelöld be a mezőleírás használata jelölőnégyzetet.
- Adjon hozzá elérési utat a jar fájlokhoz.
- Kattintson a „Befejezés” gombra.
Step 9) Kattintson a „Next” gombra.
Step 10) Gratulálunk! Sikeresen hozzáadta az összes szükséges jelentéskészítési információt. Kattintson a „Befejezés” gombra.
A jelentés az alábbi képernyőn látható módon generálódik.
A fenti fájlt JasperReport bináris formátumba kell fordítani, amelyet jasper fájlnak nevezünk.
A JasperReports könyvtár részét képező net.sf.jasperreports.engine.design.JRCompiler interfész fontos szerepet játszik ennek a jelentéssablonfájlnak a fordításában.
Ennek a felületnek a megvalósítása beírható Java, JavaForgatókönyv, Groovy, vagy bármilyen más szkriptnyelv.
A JRXML fájlokat a következő két módszerrel fordíthatja le:
- Programozott fordítás innen: Java kód.
- Összeállítás egy Apache Ant feladat.
Az alábbi kódrészlet a programozott útvonalat mutatja, ahol az egyik sor lefordítja a sablont, a második sor pedig kitölti azt egy JavaBabgyűjtemény.
import net.sf.jasperreports.engine.*; import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource; public class ReportRunner { public static void main(String[] args) throws JRException { // 1. Compile the JRXML template into a .jasper file JasperReport report = JasperCompileManager.compileReport("CherryReport.jrxml"); // 2. Fill the compiled template with a collection of beans JRBeanCollectionDataSource source = new JRBeanCollectionDataSource(EmployeeFactory.createBeanCollection()); JasperPrint print = JasperFillManager.fillReport(report, null, source); // 3. Export the filled report to PDF JasperExportManager.exportReportToPdfFile(print, "CherryReport.pdf"); System.out.println("Report exported successfully"); } }
output:
Report exported successfully
A különböző jelentési sávok megértése
A JasperReports elrendezése vízszintes részekre, úgynevezett sávokra van osztva. Minden sávhoz tartozik egy rögzített nyomtatási szabály, és ezen szabályok megértése teszi lehetővé a tervező számára, hogy pontosan szabályozza, hol jelenjen meg egy érték a kész dokumentumban.
Az alábbiakban a legtöbb kereskedelmi jelentéskészítő eszköz által alkalmazott szabványos jelentéssávok láthatók.
- Cím
- Oldalfejléc
- Oszlopfejléc
- Részlet
- Oszlop lábléce
- Oldal lábléce
- Utolsó oldal lábléce
- Összegzésként
- Csoport fejléce
- Csoport lábléce
- Háttér
- Nincs adat
Nézzük meg részletesen az egyes jelentési sávokat.
Cím
Ez a sáv a jelentés elején látható. Az attribútum beállításával különálló első oldalra helyezhető. isTitleNewPage="true".
Oldalfejléc
Az oldal fejlécsávja minden oldal elején látható. Ez nem tartalmazza az első oldalt, ha a címsávot, és az utolsó oldalt, ha az összefoglaló sávot használja a beállítással. isSummaryWithPageHeaderAndFooter="false".
Oszlopfejléc
Az oszlopfejlécek minden oldalon a részletsáv előtt jelennek meg.
Részlet
A részletező szakaszt a megadott adatforrás minden egyes rekordjához megismétlik. Több részletező sáv (1, 2 és így tovább) is megengedett.
Oszloplábléc
Ez a szakasz a részletező sáv alatt jelenik meg minden olyan oldalon, ahol a részletező sáv található. Az alapértelmezett beállítás az oldal vége, de ez átállítható úgy, hogy az utolsó részletező sáv alatt legyen az attribútum beállításával. isFloatColumnFooter="true".
Oldal lábléc
Ez a szakasz minden oldal végén megjelenik, kivéve az összefoglaló sávot, a címsávot és az utolsó nem összefoglaló sávot.
Utolsó oldal lábléce
Ez a szakasz az utolsó oldalon jelenik meg a normál lábléc helyett, ha nincs megadva összefoglaló sáv.
Összegzésként
Az összefoglaló rész csak akkor jelenik meg a jelentés végén egy új oldalon, ha isSummaryNewPage="true" be van állítva, és az oldal fejlécével és láblécével, amikor isSummaryWithPageHeaderAndFooter="true" van beállítva.
Csoport fejléce
Ez a szakasz csak akkor jelenik meg, ha definiálva van, minden alkalommal, amikor a csoportkifejezés megváltozik, a részletező sáv előtt.
Csoport lábléce
Ez a szakasz csak akkor jelenik meg, ha egy csoport definiálva van, minden alkalommal a csoportkifejezés változása előtt, a részletsáv után.
Háttér
Minden oldalon háttérként jelenik meg az összes többi jelentési sávhoz képest.
Nincs adat
Ez a sáv akkor jelenik meg, ha nem került átadásra adatforrás, vagy az adatforrás üres, és whenNoDataType="NoDataSection" van beállítva.
Jasper vs. Pentaho
Most megtudjuk a különbséget Jasper és Pentaho között.
Íme a Jasper és a Pentaho közötti főbb különbségek:
| paraméterek | Jáspis | Pentaho |
|---|---|---|
| Jelentések | Jasper a Jaspersoft Studio programot használja a jelentések tervezéséhez. | A Pentaho Report Designert használja. |
| ETL támogatás | A Jaspersoft a Talend Open Studio verzióját használja ETL célokra. | Alapértelmezésben a Pentaho Data Integratort használja ETL eszköz. |
| Műszerfal | Az irányítópult funkció csak a Jaspersoft vállalati kiadásában található meg. | A Pentaho számos funkciót kínál az irányítópultjain. |
| Mobil üzleti intelligencia | A Jaspersoft jobb mobil BI-támogatással rendelkezik. | A Pentaho-nak egy külső eszközre kell támaszkodnia a mobil BI élmény javítása érdekében. |
| Dokumentáció | Jobb marketing, webhelyek és dokumentáció. | A dokumentációs támogatás gyenge. |
| Legjobb tulajdonsága | Könnyebb kutatni és megtalálni, amire szüksége van. | Adatbányászatot és iPhone integrációt kínál. |
| Fizetett változat | A fizetős verzió olyan funkciókat kínál, mint ad hoc lekérdezés webes felhasználói felület és irányítópult létrehozása webes felhasználói felület. | Olyan funkciókat kínál, mint az LDAP-integráció, az SSO és az auditálás. |
A csapatok már befektettek a Java a stack általában a Jaspert választja, míg azoknak a csapatoknak, akiknek a jelentéskészítés mellett nagy mennyiségű adatintegrációra van szükségük, gyakran a Pentaho.
A JasperReports létrehozása során felmerülő kihívások
Íme néhány kihívás, amellyel a Jasper-jelentések létrehozásakor szembesülni fogsz:
- Alapvető változások – amikor az üzleti szabályok megváltoznak vagy frissülnek, a jelentés alapvető logikáját is meg kell változtatni.
- Komplex jelentések – jó példák erre az aljelentések és a kereszttáblás jelentések.
- Diagramjelentések vagy vizuális diagramok, például grafikon, XY vonal, kördiagram, oszlopdiagram, idősoros és mérődiagram.
A Jasper Reports használatának hátrányai
Íme a Jasper Reports használatának hátrányai.
- Ha egyszer elkezdünk változtatni a csomag egyes részein és eltávolítani a funkciókat, nagyon nehéz visszaállítani az alapértelmezett csomagbeállításokat.
- Túl merev, és a vonalak szerkesztése, valamint a kereszttáblák létrehozása kihívást jelentő feladat.
- Néhány gyakori feladat, például a csoportosított jelentések részösszegeinek megadása, könnyebben elvégezhető más jelentéstervezőkben.
- A Jasper megköveteli, hogy jelentéseket állítson össze, mielőtt futtatná azokat. Ez azt jelenti, hogy a jelentéskészítőknek rendelkezniük kell a teljességgel Java SDK telepítve.
- Néha a jelentés szerkesztésekor nem ugyanaz az előnézet jelenik meg, mint az interneten.






















