JasperReports Tutorial: Waar is het Jasper-rapport voor? Java? Voorbeeld
Waar is JasperReports voor? Java?
Jasper Reports is een open-source rapportagetool voor Java dat wordt gebruikt voor het rapporteren van aanvragen. Deze rapportagetool helpt bij het schrijven van rijke inhoud op het scherm, naar de printer of in een verscheidenheid aan bestanden zoals HTML, PDF, XLS, RTF, CSV, XML, ODT en TXT. Ook hiervoor kan JasperReports gebruikt worden Java-enabled toepassingen zoals Java EE- of webapplicaties om dynamische inhoud te genereren.
Jasper Reports installeren - Omgevingsinstellingen
Laten we nu in deze Jaspersoft Studio-tutorial het stapsgewijze proces leren voor het instellen van de JasperReports-omgeving:
Stap 1) Download jasper rapporten community editie
Ga hier naartoe Link en klik op de optie Nu downloaden om de Jasper Reports Community-editie te installeren.
Stap 2) Selecteer Jaspersoft Studio CE
Selecteer Jaspersoft Studio CE uit de community-edities
Stap 3) Jaspersoft Studio downloaden
Ga hier naartoe link en klik op de knop Downloaden. Open het gedownloade bestand TIB_js-studiocomm_6.9.0_windows_x86_64.exe.TIB_js-studiocomm_6.9.0_windows_x86_64.exe.
Stap 4) Klik op de knop Akkoord
Het volgende scherm verschijnt, selecteer de knop Ik ga akkoord.
Stap 5) Kies locatie
Selecteer uw installatielocatie en klik op de knop Volgende.
Stap 6) De voortgang loopt nu
Op het volgende scherm ziet u de voortgang.
Stap 7) Klik op de knop Voltooien
In het volgende scherm klikt u op de knop Voltooien.
Stap 8) De voortgang is voltooid
Het volgende scherm verschijnt in uw venster.
Stap 9) Start nu
Klik vervolgens op de optie Aan de slag.
Stap 10) Ga aan de slag met Jasper Reports studio
Het volgende scherm verschijnt en u kunt aan de slag met Jasper Reports Studio.
Waarom Jasper Rapporten gebruiken?
Hier zijn veel redenen om een Jasper-rapportagetool te gebruiken:
- Het biedt prestaties voor het genereren van rapporten en levering aan gebruikers.
- Het helpt u om uw gegevens in tekstueel of grafisch formaat weer te geven.
- Het is een zelfstandige en ingebedde rapportageserver voor het compileren en uitvoeren van rapportages.
- Het maakt op rollen gebaseerde toegangscontrole mogelijk voor alle rapporten in de repository.
- Een veerbeveiligingsframework voor integratie met interne authenticatiesystemen
- Het biedt een veilige, geplande en automatische levering van een interactieve rapportage-engine.
- U kunt rapporten insluiten in Java of niet-Java Toepassing.
- Er kunnen verschillende formaten van rapporten worden geëxporteerd.
- Ontwikkelaars kunnen op meerdere manieren data aanleveren.
- Het kan watermerken genereren die over de primaire afbeelding worden gelegd.
- Het biedt een complete set SOAP, REST en webservices.
- Hiermee kunt u afzonderlijke rapportgegevens uit meerdere gegevensbronnen gebruiken.
Levenscyclus van JasperReports
In deze JasperReports-tutorial leren we nu over de levenscyclus van JasperReports.
Hieronder vindt u de algemene stroom van de levenscyclus van Jasper Reports:
Het rapport ontwerpen:
Dit zal de eerste stap zijn waarin we het JRXML-bestand maken. Het bestand is een eenvoudig XML-document dat de rapportindeling definieert. U kunt dit bestand ontwikkelen met elke teksteditor of rapportontwerper.
Als u echter de rapportontwerper gebruikt, kunnen we de lay-out van het rapport visualiseren en moet de echte structuur van de JRXML worden genegeerd.
Samenstellen van het rapport:
In deze levenscyclusfase wordt de JRXML die in de eerste fase is gebouwd, gecompileerd en wordt een binair object genaamd het Jasper-bestand (bestand met jasper xtn) gegenereerd.
Deze compilatie is gedaan om betere prestaties tijdens de uitvoering te krijgen. Deze gegenereerde Jasper-bestanden moeten samen met uw applicatie worden verzonden om de rapporten uit te voeren.
Het rapport uitvoeren:
In deze fase worden de gegevens uit de applicatie verzameld en ingevuld in het samengestelde rapportformaat. Er is een klasse genaamd net.sf.jasperreports.engine.JasperFillManager die functies biedt om de gegevens in de rapporten te vullen.
De uitvoer wordt opgeslagen in het Jasper-afdrukbestand (bestand met jprint xtn) dat kan worden gebruikt om het rapport af te drukken of te exporteren.
Het rapport exporteren naar het gewenste formaat:
In deze laatste fase moet u het eerder gemaakte Jasper-afdrukbestand exporteren naar een willekeurig formaat met behulp van de klasse JasperExportManager. Omdat Jasper meerdere exportformaten biedt, kunnen we dezelfde invoer gebruiken om verschillende representaties van de gegevens te maken.
Kenmerken van Jasper Rapporten
Nu behandelen we de functies van JasperReports in deze JasperReports stapsgewijze zelfstudie.
Hier volgen belangrijke kenmerken van de Jasper Reports-tool:
- Biedt een flexibele rapportindeling.
- Ontwikkelaars kunnen op meerdere manieren data aanleveren.
- Hiermee kunt u gegevens uit meerdere gegevensbronnen accepteren.
- Watermerken kunnen ook worden toegepast.
- Er kunnen meerdere gegevensbronnen worden gebruikt om gegevens over te dragen.
- U kunt subrapporten genereren
- Het kan subrapporten genereren.
- Het helpt u bij het exporteren van rapporten in verschillende formaten, zoals PDF, HTML, RTF, Microsoft Excel-bestanden.
- Met de engine kunnen rapportdefinities ook grafieken bevatten.
Jasper versus Pentaho
Nu zullen we meer leren over het verschil tussen Jasper en Pentaho in deze Jasper Reporting-tutorial.
Hier zijn de belangrijkste verschillen tussen Jasper en Pentaho:
parameters | Jasper | pentaho |
---|---|---|
Rapporten | Jasper gebruikt een rapport voor het ontwerpen van de rapporten. | Er werd gebruik gemaakt van de Pentaho Report Designer. |
ETL-ondersteuning | Jaspersoft gebruikt de versie van Talend Open Studio voor ETL-doeleinden. | Het gebruikt standaard Pentaho Data Integrator ETL-tool. |
Overzicht | Dashboardfunctionaliteit is alleen aanwezig in de Enterprise-editor van Jaspersoft. | Pentaho biedt een breed scala aan functies in hun dashboards. |
Mobiele bedrijfsinformatie | Jaspersoft heeft ook betere mobiele BI. | Pentaho was vroeger afhankelijk van een tool van derden om de mobiele BI-ervaring te verbeteren. |
Documentatie | Betere marketing, sites en documentatie. | Documentatieondersteuning is slecht. |
Beste eigenschap | Gemakkelijker om te onderzoeken en te vinden wat u nodig heeft. | Biedt datamining en iPhone-integratie |
Betaalde versie | De betaalde versie biedt functies zoals ad hoc vraag web Ul, dashboard creatie web Ul. | Biedt functies zoals LDAP-integratie, SSO, auditing, enz. |
Voorbeeld van een rapportsjabloon maken
Laten we nu in deze JasperReports-tutorial leren hoe u een rapportsjabloon maakt in JasperReports.
Het rapportsjabloonbestand dat in JasperReports wordt gebruikt, is een eenvoudig XML-bestand met de extensie jrxml. Dit bestand bevat de tag als hoofdelement. Het JasperReports-framework kan verschillende soorten gegevensbronnen verwerken.
Het rapportsjabloon wordt ontworpen en gemaakt met behulp van de volgende twee stappen:
Stap 1) Het JRXML-bestand maken in Jaspersoft Studio.
- Ga naar bestandsoptie.
- Selecteer het submenu Nieuw
- Klik op de optie Jasper Rapport.
Stap 2) Het gewenste sjabloon selecteren.
- Selecteer uw sjabloon, bijvoorbeeld kers.
- Klik op de knop "Volgende".
Stap 3) Een bovenliggende map selecteren.
- Selecteer de map MyReports.
- Voer de bestandsnaam in, bijvoorbeeld 'Cherry Report'.
- Klik op de knop "Volgende".
Stap 4) In het gegevensbronvenster, klik op de knop "Nieuw" om een nieuwe dataadapter te maken.
Stap 5) Een dataadapter selecteren.
- Selecteer de dataadapter uit de keuzelijst. Bijvoorbeeld, "Verzameling van JavaBonen.”
- Klik op de knop "Volgende".
Stap 6) Gegevens van de gegevensadapter invoeren en fabrieksklasse selecteren.
- Voer een naam in voor uw adapter.
- Selecteer de fabrieksklasse door op de knop "..." te klikken.
Stap 7) Voorvoegsel of patroon invoeren.
- Voer het naamvoorvoegsel of patroon in.
- Klik op overeenkomende items.
- Klik op de knop "OK".
Stap 8) Fabrieksklasse definiëren en het pad naar jar-bestanden toevoegen.
- Voer de naam in van een statische methode in de fabrieksklasse. In dit Jasper-rapportvoorbeeld is dit createBeanCollection.
- Als uw JavaDe definitie van Beans bevat veldbeschrijvingen. Als u deze als namen in Jaspersoft Studio wilt gebruiken, vinkt u het selectievakje Veldbeschrijving gebruiken aan.
- Voeg een pad toe aan uw jar-bestanden.
- Klik op de knop “Voltooien”.
Stap 9) Klik op de knop "Volgende".
Stap 10) Gefeliciteerd! U hebt alle benodigde informatie voor het maken van rapporten met succes toegevoegd. Klik op de knop “Voltooien”.
Het rapport wordt gegenereerd zoals weergegeven in het onderstaande scherm.
Het bovenstaande bestand moet worden gecompileerd in het JasperReport Binary-formaat, dat het Jasper-bestand wordt genoemd.
De interface net.sf.jasperreports.engine.design.JRCompiler, die deel uitmaakt van de JasperReports-bibliotheek, speelt een belangrijke rol bij het samenstellen van dit rapportsjabloonbestand.
Implementatie van deze interface kan in geschreven worden Java, JavaScript, Groovy, of een andere scripttaal.
U kunt een JRXML-bestand op de volgende twee manieren compileren:
- Programmatische compilatie.
- Compilatie met behulp van Apache ANT-taak.
De verschillende rapportbanden begrijpen
Hieronder staan de standaardrapportformaten die door de meeste commerciële rapportgeneratietools worden gebruikt.
- Titel
- Pagina hoofd
- Kolomkop
- Detail
- Kolomvoettekst
- Pagina ondertekst
- Samenvatting
Laten we elke rapportageband in detail leren:
Titel:
Deze band wordt aan het begin van het rapport weergegeven. Het kan als eerste pagina worden gebruikt door het attribuut in te stellen isTitleNewPage="true."
Pagina hoofd:
Rapportageband voor paginakop wordt aan het begin van elke pagina weergegeven. Het sluit de eerste pagina uit als de titelband wordt gebruikt en de laatste pagina als deze samenvattingsband wordt gebruikt met instelling isSummaryWithPageHeaderAndFooter="false.".
Kolomkop:
Kolomkoppen verschijnen vóór de detailband op elke pagina.
Detail:
Detailsectie herhaald voor elke record in de geleverde gegevensbron. Het maakte het ook mogelijk om meerdere detailbanden te hebben (1, 2, etc.)
Kolomvoettekst:
Dit gedeelte verschijnt onder de detailband op elke pagina waar de detailband aanwezig is. De standaardinstelling is het einde van de pagina, maar u kunt dit wijzigen onder de laatste detailband door het attribuut in te stellen isFloatColumnFooter=" true."
Pagina ondertekst:
Deze sectie wordt aan het einde van elke pagina weergegeven, met uitzondering van de samenvattingsband, de titelband, de laatste niet-samenvattingsband en de laatste niet-samenvattingsband.
Voettekst laatste pagina:
Deze sectie verschijnt op de vorige pagina (als er geen samenvattingsband wordt gegeven) in plaats van de normale paginavoettekst.
Overzicht:
Het samenvattingsgedeelte verschijnt alleen aan het einde van het rapport op een nieuwe pagina. wanneer isSummaryNewPage="true"
is ingesteld en waarbij de paginakop- en voettekst is ingesteld isSummaryWithPageHeaderAndFooter="true".
Groepskop:
Deze sectie verschijnt alleen als deze elke keer wordt gedefinieerd als de groepsexpressie vóór de detailband verandert.
Groepsvoettekst:
Deze sectie wordt alleen weergegeven als er elke keer een groep wordt gedefinieerd voordat de groepsexpressie na de detailband verandert.
Achtergrond:
Het wordt op alle pagina's weergegeven als achtergrond voor alle andere rapportagebanden.
Geen gegevens:
Deze band verschijnt wanneer er geen gegevensbron is doorgegeven, of de gegevensbron leeg is en wanneerNoDataType=”NoDataSection” is ingesteld.
Uitdagingen bij het maken van JasperReports
Hier volgen enkele uitdagingen waarmee u te maken krijgt bij het maken van Jasper Reports:
- Kernveranderingen – Het bedrijf verandert of verbetert. Het is nodig om de kernlogica van het rapport te veranderen.
- Ingewikkelde rapporten – subrapporten en kruistabellenrapporten zijn een goed voorbeeld.
- Grafiekrapporten of visuele grafieken, bijvoorbeeld grafiek-, XY-lijn-, cirkel-, staaf-, tijdreeks- en metergrafieken.
Nadelen van het gebruik van Jasper Reports
Hier volgen de nadelen/nadelen van het gebruik van Jasper Reports.
- Zodra u wijzigingen aanbrengt in delen van het pakket en functies verwijdert, is het erg moeilijk om terug te keren naar de standaardpakketinstelling.
- Het is te rigide, het bewerken van lijnen en het maken van kruistabellen is een uitdagende taak.
- Sommige veel voorkomende taken, zoals het opgeven van subtotalen voor een gegroepeerd rapport, zijn eenvoudiger in de andere twee rapportontwerpers.
- Jasper vereist dat u rapporten samenstelt voordat u ze uitvoert. Dit betekent dat rapportontwikkelaars het volledige Java SDK geïnstalleerd.
- Soms wordt bij het bewerken van het rapport niet hetzelfde voorbeeld weergegeven als op internet.
Samenvatting
- JasperReports is een open source Java rapportage-engine. Dit Java class-bibliotheek biedt rapportagemogelijkheden voor uw toepassing.
- Jasper Reports biedt prestaties voor het genereren van rapporten en levert deze aan gebruikers.
- De levenscyclus van Jasper Reports omvat 1) het ontwerpen van rapporten, 2) het samenstellen van rapporten, 3) het uitvoeren van het rapport en 4) het exporteren van het rapport naar het gewenste formaat.
- In Jasper Reports kunt u meerdere gegevensbronnen maken om gegevens over te dragen.
- Het grote verschil tussen Jasper en Pentaho is dat Jasper Reports een rapport gebruikt voor het ontwerpen van de rapporten pentaho maakt gebruik van de Pentaho Report Designer.
- Het rapportsjabloonbestand dat in JasperReports wordt gebruikt, is een eenvoudig XML-bestand met de extensie jrxml.
- Belangrijke rapportbanden zijn: 1) Titel 2) Paginakop 3) Kolomkop 4) Detail 5) Kolomvoettekst 6) Paginavoettekst en 7) Samenvatting.
- De grootste uitdaging bij het gebruik van Jasper Reports is dat u de kernlogica van het rapport moet wijzigen als de bedrijfslogica verandert.
- Het grootste nadeel van Jasper Reports is dat wanneer u wijzigingen aanbrengt in delen van het pakket, het moeilijk is om terug te keren naar de standaardpakketinstelling.