Tutorial su JasperReports: a cosa serve il report Jasper Java? Esempio
A cosa serve JasperReports Java?
Jasper Reports è uno strumento di reporting open source per Java che viene utilizzato per la segnalazione delle applicazioni. Questo strumento di reporting aiuta a scrivere contenuti avanzati sullo schermo, sulla stampante o in una varietà di file come HTML, PDF, XLS, RTF, CSV, XML, ODT e TXT. JasperReports può essere utilizzato anche per Java-applicazioni abilitate come Java EE o applicazioni web per generare contenuti dinamici.
Come installare Jasper Reports - Configurazione dell'ambiente
Ora, in questo tutorial di Jaspersoft Studio, impariamo il processo passo passo per la configurazione dell'ambiente JasperReports:
Passo 1) Scarica l'edizione della community di Jasper Report
Vai a questo Link e fai clic sull'opzione Scarica ora per installare la versione Jasper Reports Community.
Passo 2) Seleziona Jaspersoft Studio CE
Dalle edizioni della community, seleziona Jaspersoft Studio CE
Passo 3) Scarica Jaspersoft Studio
Vai a questo link e fare clic sul pulsante Download. Aprire il file scaricato TIB_js-studiocomm_6.9.0_windows_x86_64.exe.TIB_js-studiocomm_6.9.0_windows_x86_64.exe.
Passo 4) Fare clic sul pulsante d'accordo
Apparirà la seguente schermata, selezionare il pulsante Accetto.
Passo 5) Scegli la posizione
Seleziona il percorso di installazione e fai clic sul pulsante Avanti.
Passo 6) Il progresso è in corso ora
Vedrai l'avanzamento nella schermata successiva.
Passo 7) Fare clic sul pulsante Fine
Nella schermata successiva, fare clic sul pulsante Fine.
Passo 8) Il progresso è completo
Nella finestra apparirà la seguente schermata.
Passo 9) Inizia
Successivamente, fai clic sull'opzione Inizia.
Passo 10) Inizia a lavorare con lo studio Jasper Reports
Apparirà la seguente schermata: potrete iniziare a lavorare con Jasper Reports Studio.
Perché utilizzare Jasper Reports?
Ecco molti motivi per utilizzare uno strumento di report Jasper:
- Offre prestazioni di generazione e distribuzione di report agli utenti.
- Ti aiuta a rappresentare i tuoi dati in formato testuale o grafico.
- È un server di reporting autonomo e incorporato per la compilazione e l'esecuzione di report.
- Consente il controllo dell'accesso basato sui ruoli a tutti i report nel repository.
- Un framework di sicurezza primaverile per l’integrazione con i sistemi di autenticazione interni
- Offre un motore di reporting interattivo sicuro, pianificato e con consegna automatica.
- Puoi incorporare report in Java o nonJava Applicazione.
- È possibile esportare vari formati di report.
- Gli sviluppatori possono fornire dati in diversi modi.
- Può generare filigrane sovrapposte all'immagine primaria.
- Offre un set completo di SOAP, REST e servizi Web.
- Consente di utilizzare dati di report singoli provenienti da più origini dati.
Ciclo di vita di JasperReports
Ora in questo tutorial di JasperReports impareremo il ciclo di vita di JasperReports.
Di seguito è riportato il flusso generale del ciclo di vita dei report Jasper:
Progettare il rapporto:
Questo sarà il primo passo in cui creeremo il file JRXML. Il file è un semplice documento XML che definisce il layout del report. È possibile sviluppare questo file utilizzando qualsiasi editor di testo o progettista di report.
Tuttavia, se si utilizza il report designer, è possibile visualizzare il layout del report e la struttura reale del JRXML dovrebbe essere ignorata.
Compilazione del rapporto:
In questa fase del ciclo di vita, viene compilato il JRXML creato nella prima fase e viene generato un oggetto binario chiamato file Jasper (file con jasper xtn).
Questa compilazione viene eseguita per ottenere prestazioni migliori durante l'esecuzione. Questi file Jasper generati devono essere spediti insieme all'applicazione per eseguire i report.
Esecuzione del rapporto:
In questa fase, i dati dell'applicazione vengono raccolti e compilati nel formato del report compilato. Esiste una classe chiamata net.sf.jasperreports.engine.JasperFillManager che offre funzioni per inserire i dati nei report.
L'output verrà archiviato nel file di stampa Jasper (file con jprint xtn) che può essere utilizzato per stampare o esportare il report.
Esportazione del report nel formato desiderato:
In quest'ultima fase, è necessario esportare il file di stampa Jasper creato in precedenza in qualsiasi formato utilizzando la classe JasperExportManager. Poiché Jasper offre più formati di esportazione, possiamo utilizzare lo stesso input per creare varie rappresentazioni dei dati.
Caratteristiche di Jasper Report
Ora tratteremo le funzionalità di JasperReports in questo tutorial passo passo di JasperReports.
Ecco le caratteristiche importanti dello strumento Jasper Reports:
- Offre un layout di report flessibile.
- Gli sviluppatori possono fornire dati in diversi modi.
- Ti consente di accettare dati da più origini dati.
- È anche possibile applicare filigrane.
- È possibile utilizzare più origini dati per trasferire i dati.
- È possibile generare sottoreport
- Può generare sottoreport.
- Ti aiuta a esportare report in una varietà di formati come PDF, HTML, RTF, Microsoft File Excel.
- Il motore consente alle definizioni dei report di includere grafici.
Jasper contro Pentaho
Ora impareremo la differenza tra Jasper e Pentaho in questo tutorial su Jasper Reporting.
Ecco le principali differenze tra Jasper e Pentaho:
parametri | Diaspro | Pentaho |
---|---|---|
Report | Jasper utilizza un report per progettare i report. | Ha utilizzato Pentaho Report Designer. |
Supporto ETL | Jaspersoft utilizza la versione Talend Open Studio per scopi ETL. | Utilizza Pentaho Data Integrator come impostazione predefinita Strumento ETL. |
Dashboard | La funzionalità Dashboard è presente solo nell'editor Enterprise di Jaspersoft. | Pentaho offre un'ampia gamma di funzionalità nelle proprie dashboard. |
Intelligenza aziendale mobile | Jaspersoft offre anche una BI mobile migliore. | Pentaho aveva bisogno di affidarsi a uno strumento di terze parti per migliorare l'esperienza di BI mobile. |
Documentazione | Marketing, siti e documentazione migliori. | Il supporto della documentazione è scarso. |
caratteristica migliore | È più facile ricercare e trovare ciò di cui hai bisogno. | Offre data mining e integrazione iPhone |
Versione a pagamento | La versione a pagamento offre funzionalità come interrogazione ad hoc web Ul, creazione dashboard web Ul. | Offre funzionalità come l'integrazione LDAP, SSO, controllo, ecc. |
Esempio di creazione di un modello di report
Ora in questo tutorial di JasperReports impariamo come creare un modello di report in JasperReports.
Il file del modello di report utilizzato in JasperReports è un semplice file XML con estensione jrxml. Questo file contiene il tag come elemento root. Il framework JasperReports può gestire diversi tipi di origini dati.
Il modello di report è progettato e creato utilizzando i due passaggi seguenti:
Passo 1) Creazione del file JRXML in Jaspersoft Studio.
- Vai all'opzione file.
- Selezionare il sottomenu Nuovo
- Fare clic sull'opzione Rapporto Jasper.
Passo 2) Selezione del modello desiderato.
- Seleziona il tuo modello, ad esempio, ciliegia.
- Fare clic sul pulsante "Avanti".
Passo 3) Selezione di una cartella principale.
- Seleziona la cartella MyReports.
- Inserisci il nome del file, ad esempio "Cherry Report".
- Fare clic sul pulsante "Avanti".
Passo 4) Nella finestra Origine dati, fare clic sul pulsante “Nuovo” per creare un nuovo adattatore dati.
Passo 5) Selezione di un adattatore dati.
- Selezionare l'adattatore dati dalla casella di riepilogo. Ad esempio, "Raccolta di JavaFagioli."
- Fare clic sul pulsante "Avanti".
Passo 6) Immissione dei dettagli dell'adattatore dati e selezione della classe di fabbrica.
- Inserisci un nome per l'adattatore.
- Selezionare la classe di fabbrica facendo clic sul pulsante "...".
Passo 7) Immissione del prefisso o del modello.
- Immettere il prefisso o il modello del nome.
- Fai clic sugli elementi corrispondenti.
- Fare clic sul pulsante "OK".
Passo 8) Definizione della classe factory e aggiunta del percorso ai file jar.
- Immettere il nome di un metodo statico nella classe factory. In questo esempio di report Jasper, si tratta di createBeanCollection.
- Se la tua JavaLa definizione dei bean contiene descrizioni di campo e se si desidera utilizzarle come nomi in Jaspersoft Studio, selezionare la casella di controllo Usa descrizione campo.
- Aggiungi un percorso ai tuoi file jar.
- Fare clic sul pulsante "Fine".
Passo 9) Fare clic sul pulsante "Avanti".
Passo 10) Congratulazioni! Hai aggiunto correttamente tutte le informazioni necessarie per la creazione del report. Fare clic sul pulsante "Fine".
Il report verrà generato come mostrato nella schermata seguente.
Il file sopra richiede la compilazione nel formato JasperReport Binary, chiamato file jasper.
L'interfaccia net.sf.jasperreports.engine.design.JRCompiler, che fa parte della libreria JasperReports, svolge un ruolo importante nella compilazione di questo file modello di report.
L'implementazione di questa interfaccia può essere scritta Java, JavaCopione, Groovyo qualsiasi altro linguaggio di scripting.
È possibile compilare un file JRXML nei due metodi seguenti:
- Compilazione programmatica.
- Compilazione utilizzando l'attività Apache ANT.
Comprendere le diverse fasce del rapporto
Di seguito sono riportati i formati di report standard adottati dalla maggior parte degli strumenti commerciali per la generazione di report.
- Titolo
- Intestazione di pagina
- Intestazione di colonna
- Dettagli
- Piè di pagina della colonna
- Piè di pagina
- Sommario
Impariamo in dettaglio ciascuna fascia di reporting:
Titolo:
Questa banda viene visualizzata all'inizio del report. Può essere utilizzata come prima pagina impostando l'attributo isTitleNewPage="true."
Intestazione di pagina:
Fascia di segnalazione intestazione pagina riportata all'inizio di ogni pagina. Esclude la prima pagina se viene utilizzata la fascia del titolo e l'ultima pagina se viene utilizzata questa fascia riassuntiva con impostazione isSummaryWithPageHeaderAndFooter="false.".
Intestazione colonna:
Le intestazioni delle colonne vengono visualizzate prima della fascia dei dettagli su ciascuna pagina.
Dettaglio:
Sezione dettagli ripetuta per ogni record nell'origine dati fornita. Permetteva anche di avere più bande di dettaglio (1, 2, ecc.)
Piè di pagina della colonna:
Questa sezione appare sotto la banda di dettaglio in ogni pagina in cui è presente la banda di dettaglio. L'impostazione predefinita è la fine della pagina, ma è possibile passare alla fascia dell'ultimo dettaglio impostando l'attributo isFloatColumnFooter=" true."
Piè di pagina:
Questa sezione verrà visualizzata alla fine di ogni pagina esclusa la fascia riassuntiva, la fascia titolo, la fascia e l'ultima fascia non riassuntiva.
Piè di pagina dell'ultima pagina:
Questa sezione compare nella pagina precedente (se non è prevista una fascia riepilogativa) al posto del normale Footer di pagina.
Sommario:
La sezione di riepilogo viene visualizzata solo alla fine del rapporto in una nuova pagina. Quando isSummaryNewPage="true"
è impostato e con l'intestazione e il piè di pagina della pagina isSummaryWithPageHeaderAndFooter="true".
Intestazione del gruppo:
Questa sezione appare solo quando viene definita ogni volta che cambia l'espressione del gruppo prima della fascia di dettaglio.
Piè di pagina del gruppo:
Questa sezione viene visualizzata solo se un gruppo viene definito ogni volta prima che l'espressione del gruppo cambi dopo la banda di dettaglio.
Sfondo:
Viene visualizzato su tutte le pagine come sfondo a tutte le altre fasce di segnalazione.
Nessun dato:
Questa banda verrà visualizzata quando non è stata passata alcuna origine dati oppure l'origine dati è vuota e quando è impostato NoDataType="NoDataSection".
Sfide affrontate durante la creazione di JasperReports
Ecco alcune sfide che dovrai affrontare durante la creazione di Jasper Reports:
- Cambiamenti fondamentali: il business cambia o migliora. È necessario modificare la logica fondamentale del rapporto.
- Report complicati: i sottoreport e i report a tabelle incrociate sono un buon esempio.
- Rapporti grafici o grafici visivi, ad esempio grafici, grafici a linee XY, grafici a torta, a barre, serie temporali e grafici a contatore.
Svantaggi dell'utilizzo di Jasper Reports
Ecco gli svantaggi/svantaggi dell'utilizzo di Jasper Reports.
- Una volta che si inizia ad apportare modifiche a parti del pacchetto e a rimuovere funzionalità, è molto difficile tornare alle impostazioni predefinite del pacchetto.
- È troppo rigido, la modifica delle righe e la creazione di schede incrociate è un compito impegnativo.
- Alcune attività comuni, come specificare i totali parziali per un report raggruppato, sono più semplici negli altri due progettisti di report.
- Jasper richiede la compilazione dei report prima di eseguirli. Ciò significa che gli sviluppatori del report devono avere l'intero file Java SDK installato.
- A volte, quando modifichi il report, non viene mostrata la stessa anteprima di come viene visualizzata sul Web.
Sommario
- JasperReports è un open source Java motore di reporting. Questo Java la libreria di classi offre funzionalità di reporting per la tua applicazione.
- Jasper Reports offre prestazioni di generazione e distribuzione di report agli utenti.
- Il ciclo di vita di Jasper Reports include 1) progettazione di report, 2) Compilazione di report, 3) Esecuzione del report e 4) Esportazione del report nel formato desiderato.
- In Jasper Reports, puoi creare più origini dati per trasferire i dati.
- La principale differenza tra Jasper e Pentaho è che i report Jasper utilizzano un report per progettare i report Pentaho utilizza Pentaho Report Designer.
- Il file del modello di report utilizzato in JasperReports è un semplice file XML con estensione jrxml.
- Le fasce importanti dei report sono: 1) Titolo 2) Intestazione pagina 3) Intestazione colonna 4) Dettagli 5) Piè di pagina colonna 6) Piè di pagina e 7) Riepilogo.
- La sfida più grande nell'utilizzo di Jasper Reports è che è necessario modificare la logica principale del report se cambia la logica aziendale.
- Il più grande svantaggio di Jasper Reports è che quando apporti modifiche a parti del pacchetto, è difficile tornare alle impostazioni predefinite del pacchetto.