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
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 26/27
Wykres kołowy Rysunek przedstawiający wygenerowany wykres kołowy punktów życia postaci.