27
www.proskar.pl Jasper Reports Warsztaty PROSKAR

Jasper reportsJasper reports

  • Upload
    proskar

  • View
    425

  • Download
    0

Embed Size (px)

Citation preview

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.