SlideShare a Scribd company logo
1 of 27
Download to read offline
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.

More Related Content

More from PROSKAR

Walidacja po stronie klienta za pomocą jquery oraz angular js
Walidacja po stronie klienta za pomocą jquery oraz angular jsWalidacja po stronie klienta za pomocą jquery oraz angular js
Walidacja po stronie klienta za pomocą jquery oraz angular jsPROSKAR
 
Tworzenie klienta web service za pomoca cxf
Tworzenie klienta web service za pomoca cxfTworzenie klienta web service za pomoca cxf
Tworzenie klienta web service za pomoca cxfPROSKAR
 
Testy integracyjne
Testy integracyjneTesty integracyjne
Testy integracyjnePROSKAR
 
Testy funkcjonalne
Testy funkcjonalneTesty funkcjonalne
Testy funkcjonalnePROSKAR
 
Standard tworzenia aplikacji JSF
Standard tworzenia aplikacji JSFStandard tworzenia aplikacji JSF
Standard tworzenia aplikacji JSFPROSKAR
 
Środowisko android studio - podstawy
Środowisko android studio - podstawyŚrodowisko android studio - podstawy
Środowisko android studio - podstawyPROSKAR
 
Selenium
SeleniumSelenium
SeleniumPROSKAR
 
Primefaces - walidacja po stronie klienta
Primefaces - walidacja po stronie klientaPrimefaces - walidacja po stronie klienta
Primefaces - walidacja po stronie klientaPROSKAR
 
Podstawy java server faces
Podstawy java server facesPodstawy java server faces
Podstawy java server facesPROSKAR
 
Logowanie przez facebook i gmail w java
Logowanie przez facebook i gmail w javaLogowanie przez facebook i gmail w java
Logowanie przez facebook i gmail w javaPROSKAR
 
JMS java messaging service
JMS java messaging serviceJMS java messaging service
JMS java messaging servicePROSKAR
 
Java authentication and authorization service
Java authentication and authorization serviceJava authentication and authorization service
Java authentication and authorization servicePROSKAR
 
Flow scope w JSF
Flow scope w JSFFlow scope w JSF
Flow scope w JSFPROSKAR
 
Blokada wykonywania wielu akcji z jednego widoku
Blokada wykonywania wielu akcji z jednego widokuBlokada wykonywania wielu akcji z jednego widoku
Blokada wykonywania wielu akcji z jednego widokuPROSKAR
 

More from PROSKAR (14)

Walidacja po stronie klienta za pomocą jquery oraz angular js
Walidacja po stronie klienta za pomocą jquery oraz angular jsWalidacja po stronie klienta za pomocą jquery oraz angular js
Walidacja po stronie klienta za pomocą jquery oraz angular js
 
Tworzenie klienta web service za pomoca cxf
Tworzenie klienta web service za pomoca cxfTworzenie klienta web service za pomoca cxf
Tworzenie klienta web service za pomoca cxf
 
Testy integracyjne
Testy integracyjneTesty integracyjne
Testy integracyjne
 
Testy funkcjonalne
Testy funkcjonalneTesty funkcjonalne
Testy funkcjonalne
 
Standard tworzenia aplikacji JSF
Standard tworzenia aplikacji JSFStandard tworzenia aplikacji JSF
Standard tworzenia aplikacji JSF
 
Środowisko android studio - podstawy
Środowisko android studio - podstawyŚrodowisko android studio - podstawy
Środowisko android studio - podstawy
 
Selenium
SeleniumSelenium
Selenium
 
Primefaces - walidacja po stronie klienta
Primefaces - walidacja po stronie klientaPrimefaces - walidacja po stronie klienta
Primefaces - walidacja po stronie klienta
 
Podstawy java server faces
Podstawy java server facesPodstawy java server faces
Podstawy java server faces
 
Logowanie przez facebook i gmail w java
Logowanie przez facebook i gmail w javaLogowanie przez facebook i gmail w java
Logowanie przez facebook i gmail w java
 
JMS java messaging service
JMS java messaging serviceJMS java messaging service
JMS java messaging service
 
Java authentication and authorization service
Java authentication and authorization serviceJava authentication and authorization service
Java authentication and authorization service
 
Flow scope w JSF
Flow scope w JSFFlow scope w JSF
Flow scope w JSF
 
Blokada wykonywania wielu akcji z jednego widoku
Blokada wykonywania wielu akcji z jednego widokuBlokada wykonywania wielu akcji z jednego widoku
Blokada wykonywania wielu akcji z jednego widoku
 

Jasper reportsJasper reports

  • 2. 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
  • 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
  • 5. Jasper Studio Rysunek przedstawiający graficzny edytor raportów Jasper Studio www.proskar.pl 5/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
  • 11. Klasa ExportPlayersToPdf Rysunek przedstawiający kod klasy raportującej dane do pliku pdf www.proskar.pl 11/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.
  • 20. 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
  • 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
  • 25. Paleta elementów • Wykres kołowy www.proskar.pl 25/27
  • 26. 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.
  • 27. www.proskar.pl 27/27 Wygenerowany raport Rysunek przedstawiający wygenerowany raport statystyk postaci.