Jasper reportsJasper reports

27
www.proskar.pl Jasper Reports Warsztaty PROSKAR

Transcript of Jasper reportsJasper reports

www.proskar.pl

Jasper Reports

Warsztaty PROSKAR

Plan

1. Wprowadzenie

2. Instalacja

3. Przykład

4. Parametry

5. Wyrażenia języka Java

6. Paleta elementów

www.proskar.pl 2/27

Wprowadzenie

• Definicja – Zestaw narzędzi raportujących dane do wielu formatów:

Pdf, xml, html …

– Możliwość oddzielenia logiki aplikacji od warstwy raportującej

• Narzędzia

– Jasper Studio : graficzny edytor raportów

– Jasper reports: biblioteka pozwalająca na wygenerowanie raportu z poziomu kodu aplikacji

www.proskar.pl 3/27

Wprowadzenie

• Źródła raportowanych danych – Połączenie jdbc z bazą danych

– MongoDB

– Hibernate Session

– Kolekcja obiektów Java

– Pliki JSON

– Pliki XML

– Pliki CSV

– Pliki Microsoft Excel

– …

www.proskar.pl 4/27

Jasper Studio

Rysunek przedstawiający graficzny edytor raportów Jasper Studio

www.proskar.pl 5/27

Instalacja

• Pobranie graficznego edytora raportów Jasper Studio

http://community.jaspersoft.com/download

• Dodanie biblioteki do projektu maven`owego <dependency>

<groupId>net.sf.jasperreports</groupId>

<artifactId>jasperreports</artifactId>

<version>6.0.3</version>

</dependency>

www.proskar.pl 6/27

Przykład

• Aplikacja raportująca dane o graczach do pliku pdf

Potrzebujemy:

– Klasa POJO Player(nick, level, health, mana)

– Klasa narzędziowa PlayersInit

– Klasa raportująca ExportPlayersToPdf

www.proskar.pl 7/27

Przykład

• Klasa POJO Player(nick, level, health, mana)

www.proskar.pl 8/27

Klasa Player Rysunek przedstawiający klasę modelu gracza, zawierającą prywatne pola i metody dostępowe

Przykład

• Klasa narzędziowa PlayersInit – Inicjalizacja listy obiektów klasy Player – Udostępnienie statycznej metody zwracającej listę obiektów klasy Player

www.proskar.pl 9/27

Klasa PlayersInit

Rysunek przedstawiający klasę inicjalizującą statyczną listę przykładowych graczy

Przykład

• Klasa raportująca ExportPlayersToPdf – Załadowanie szablonu raportu (plik .jrxml)

– Kompilacja raportu

– Wypełnienie raportu danymi

– Export gotowego raportu do wskazanego pliku

www.proskar.pl 10/27

Klasa ExportPlayersToPdf

Rysunek przedstawiający kod klasy raportującej dane do pliku pdf

www.proskar.pl 11/27

Przykład

• Utworzenie szablonu raportu w Jasper Studio 1) Dodanie do mapy, parametru który prześlemy do raportu:

a) klucz : autor , wartość: Karol

2) Załadowanie naszego szablonu, reprezentującego schemat raportu (plik .jrxml)

3) Kompilacja załadowanego raportu

4) Wpełnienie raportu przy użyciu parametrów:

a) Obiekt Jasper Reports reprezentujący skompilowany raport

b) Mapa prametrów

c) Źródło danych dla raportu

5) Export raportu do wskazanego pliku

www.proskar.pl 12/27

Przykład

• Utworzenie szablonu raportu w Jasper Studio – Utworzenie nowego projektu

» File -> New -> Project -> Jaspersoft Studio -> JasperReports Project

– Dodanie do projektu pliku jar naszej aplikacji » Properties -> Java Build Path -> Libraries-> Add External JARs

– Dodanie nowego pustego szablonu i zdefiniowanie dla niego źródła danych

» New-> Jasper Report

Podczas dodawania nowego szablonu należy zdefiniować jego źródło danych

» New -> Collection of JavaBeans

Następnie wskazać klasę dostarczającą kolekcję obiektów(Factory class) oraz statyczną metodę zwracającą tę kolekcję obiektów (Kolejny slajd)

www.proskar.pl 13/27

Okno dodawania źródła danych

Rysunek przedstawiający dodawanie źródła danych dla szablonu

www.proskar.pl 14/27

Przykład

• Utworzenie szablonu raportu w Jasper Studio – Wczytanie pól ze zdefiniowanego wcześniej źródła danych.

» W oknie „Outline” kliknąć prawym przyciskiem myszy na szablon i wybrać „Dataset and Query”

» Na zakładce Java Bean wskazać pakiet w którym znajduje się klasa Player

Następnie zaznaczyć interesujące nas pola i wybrać przycisk Add selected field(s). (Kolejny slajd)

www.proskar.pl 15/27

Okno importu pól

Rysunek przedstawiający okno importu pól do szablonu ze zdefiniowanego wcześniej źródła danych

www.proskar.pl 16/27

Przykład

• Utworzenie szablonu raportu w Jasper Studio – Dodanie tabeli z danymi do szablonu

» Należy przeciągnąć do obszaru szablonu o nazwie Detail interesujące nas pola oraz dodać im odpowiednie nagłówki jak na rysunku poniżej

www.proskar.pl 17/27

Okno szablonu raportu Rysunek przedstawiający widok szablonu raportu zawierającego tabelę z danymi naszych graczy

Przykład

• Utworzenie szablonu raportu w Jasper Studio – Zapisanie pliku raportu .jrxml

– Uruchomienie wcześniej przygotowanej aplikacji generującej raport przy wykorzystaniu pliku szablonu

www.proskar.pl 18/27

Wygenerowany raport

Rysunek przedstawiający wygenerowany raport zawierający tabelę z danymi naszych graczy

Parametry

• Raporty mogą również odbierać parametry wysyłane z aplikacji – Zdefiniowanie pola dla parametru

– Umieszczenie go na szablonie raportu

www.proskar.pl 19/27

Okno dodawania parametru Rysunek przedstawiający okno dodawania parametru. Nazwa parametru musi być identyczna z nazwą klucza przesyłanego parametru.

Parametry

www.proskar.pl 20/27

Wygenerowany raport

Rysunek przedstawiający wygenerowany raport zawierający tabelę z danymi naszych graczy oraz z polem autor przesłanym jako parametr

Wyrażenia języka Java

• Możliwość użycia języka Java w szablonie raportu

– new java.util.Date()

– $F{healthPoint} == 100 ? "Max" : $F{healthPoint}

www.proskar.pl 21/27

Tabela szablonu raportu

Rysunek przedstawiający tabelę szablonu raportu dla danych graczy, wykorzystaniem wyrażeń języka Java

Wyrażenia języka Java

www.proskar.pl 22/27

Tabela szablonu raportu

Rysunek przedstawiający tabelę szablonu raportu dla danych graczy przy wykorzystaniu wyrażeń języka Java

Paleta elementów

• Mnogość kontrolek prezentujących dane

www.proskar.pl 23/27

Paleta elementów

Rysunek przedstawiający paletę kontrolek prezentujących dane.

Paleta elementów

• Wykres kołowy

– Przeciągniecie wykresu na ciało szablonu i zdefiniowanie źródła danych za pomocą kreatora

– Ręczna konfiguracja kodu kontrolki w zakładce „Source”

www.proskar.pl 24/27

Paleta elementów

• Wykres kołowy

www.proskar.pl 25/27

Paleta elementów

• Wykres kołowy

www.proskar.pl 26/27

Wykres kołowy Rysunek przedstawiający wygenerowany wykres kołowy punktów życia postaci.

www.proskar.pl 27/27

Wygenerowany raport Rysunek przedstawiający wygenerowany raport statystyk postaci.