3. 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
4. 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
6. 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
7. 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
8. 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
9. 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
10. 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
12. 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
13. 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
14. Okno dodawania źródła danych
Rysunek przedstawiający dodawanie źródła danych dla szablonu
www.proskar.pl 14/27
15. 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
16. 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
17. 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
18. 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
19. 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.
21. 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
22. 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
23. Paleta elementów
• Mnogość kontrolek prezentujących dane
www.proskar.pl 23/27
Paleta elementów
Rysunek przedstawiający paletę kontrolek prezentujących dane.
24. 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