JasperReports to otwartoźródłowe narzędzie raportujące dla Javy, które generuje raporty aplikacji. To narzędzie raportujące umożliwia eksport bogatej zawartości raportu na ekrany, drukarki lub różne formaty plików, takie jak HTML, PDF, XLS, RTF, CSV, XML, ODT i TXT.
JasperReports może być również używany w aplikacjach z obsługą Javy, takich jak Java EE, lub w aplikacjach webowych do generowania dynamicznych treści.
Zainstaluj JasperReports
Zainstaluj Jasper Reports Community Edition stąd.
https://community.jaspersoft.com/community-download
Struktura raportu Jasper
Szablon raportu .jrxml składa się z następujących części, jak pokazano na poniższym diagramie.
1. Tytuł zawiera "nagłówek" raportu. Pojawia się tylko raz na początku raportu. Na przykład raport nosi tytuł "Raport studencki".
2. Tytuł strony może zawierać informacje o dacie i godzinie lub nazwę instytucji. Jest ona wyświetlana na górze każdej strony. Na przykład: tytuł strony może brzmieć "Akta uczniów".
3. Nagłówki kolumn zawierają nazwy konkretnych pól do wyświetlenia w raporcie, takich jak "Student ID", "Student Name", "Student Address itd.
4. Szczegółowa sekcja informacyjna pokazuje wpisy dla konkretnych pól. Na przykład: Student ID=101, Imię Studenta="Den Peek", Adres Studenta="Pune".
5. Stopki kolumn mogą wyświetlać sumę dowolnego pola. Na przykład: "Całkowity czas nauki: 6 godzin dziennie."
6. Stopka może zawierać informacje o numerze strony. Jest wyświetlany na dole każdej strony, na przykład: "Numery stron 1, 2, 3 i wszystkie numery stron."
7. Streszczenie: Streszczenie raportu, napisane przynajmniej raz w streszczeniu.
JasperReports — cykl życia
Zaprojektuj raport — W tym etapie stworzymy plik JRXML, czyli dokument XML zawierający definicję układu raportu. Raport kompilacyjny – W tym etapie JRXML jest kompilowany do obiektu binarnego o nazwie Jasper (*.jasper). Wypełnianie danych do raportów — w tym etapie dane z aplikacji są wprowadzane do skompilowanego raportu. Klasa net.sf.jasperreports.engine.JasperFillManager zapewnia niezbędne funkcje do wypełnienia danych raportu. System utworzy plik druku Jasper (*.jrprint), który może być używany do drukowania lub eksportu raportów. Raport eksportowy – W tym etapie możemy użyć JasperExportManager, aby wyeksportować plik druku utworzony w poprzednim kroku do dowolnego formatu.
Klasa API
Dostępnych jest wiele zajęć do kompilacji projektów raportów JRXML, wypełniania raportów, drukowania raportów, eksportowania ich w plikach PDF, HTML i XML.
Jakie treści zawiera pakiet (net.sf.jasperreports.engine)?
· JasperCompileManager — Używany do kompilacji szablonów raportów JRXML. · JasperFillManager — Używany do wypełniania raportów na podstawie danych ze źródeł danych. · JasperPrintManager — Używany do drukowania dokumentów generowanych przez bibliotekę JasperReports. · JasperExportManager — Używany do pozyskiwania treści PDF, HTML lub XML dokumentów generowanych podczas wypełniania raportów.
Źródło danych
Źródłem danych jest kontener danych strukturalnych. Podczas generowania raportów silnik JasperReports pobiera dane ze źródła danych. Dane można uzyskać z baz danych, plików XML, tablic obiektów oraz kolekcji obiektów.
Poniższa tabela podsumowuje źródła danych i ich klasy implementacyjne—
Elementy danych Jasper Reports
Parametry: $P $P{parameter_name)
· Jest wykorzystywany dla wartości poszczególnych w raporcie.
· Dane, których nie można przekazać przez źródło danych, mogą być przekazywane przez parametry. Na przykład raporty tytułów i inne dane.
· Szablony JasperReports lub JRXML mogą mieć zero lub więcej elementów parametrów.
Pole: $F $F{field_name}
· Pola raportu to elementy reprezentujące mapowanie danych między źródłami danych a szablonami raportów.
Służy do zmiany wartości w każdej iteracji, innymi słowy, do reprezentowania wiersza danych w tabeli.
Zmienna: $V $V{variable_name}
· Informacje te pochodzą z raportów Jaspera.
Jest również wykorzystywany do wykonywania obliczeń na raportach Jasper, takich jak operacje arytmetyczne.
Kroki tworzenia dowolnego raportu Jasper
1. Zaprojektuj szablon, kopiując plik jrxml do folderu Spring Resources
2. Stwórz wymagane parametry
3. Tworzenie źródeł danych
4. Skompiluj szablon .jrmxl przechowywany w obiekcie JasperReport
5. Wypełnij raport — przekazując skompilowane obiekty, parametry i źródła danych .jrxml.
6. Raporty eksportowe — Użyj JasperExportManager
Przykład SpringBoota — JasperReports
Dodaj zależności Maven.
Kontroler
Służba
emp24.jrxml
Po uruchomieniu otrzymasz wygenerowany raport.http://localhost:8990/empapp/api/v1/reports/jasper/emp24?fileType=doc
JasperReports — Przykład reprezentacji podraportu
Dla podraportów otwórz istniejący szablon emp.jrxml i dodaj inny szablon user.jrxml jako podraport.
Aby dodać raport podraport do głównego raportu, otwórz raport główny, kliknij raport podrzędny w panelu, przeciągnij go do obszaru podsumowania i podaj następujące szczegóły.
Wybierz "Utwórz tylko elementy raportu potomnego", a następnie kliknij "Następny". Nie używaj żadnych połączeń z bazą danych, przejdź do kolejnego kroku i dokończ. Kliknij prawym przyciskiem > wyrównanie > dostosowanie do szerokości/formatu tabeli
Dla podraportów User.jrxml będziemy przekazywać dane podraportu z głównego raportu jako parametr. Aby to osiągnąć, potrzebujemy ......
Utwórz nowy parametr, taki jak subReport i typ danych JasperReport jak w głównym raporcie Stwórz nowe parametry dla podźródła danych i typu danych JRBeanCollectionDataSource Utwórz nowe parametry subParametry i typy danych Map
Teraz otwórz właściwości podraportu
Eliminuj $P{REPORT_CONNECTION} Wyrażenie: $P{subReport} Wyrażenie odwzorowujące parametry: $P{subParameters} Wyrażenie źródła danych: $P{subReportDataSource}
Teraz wszelkie dane, które przekażemy jako parametr, zostaną włączone do podraportu.
Przykładowy kod
empSubreport.jrxml
Sprawdź go:http://localhost:8990/empapp/api/v1/reports/jasper/subreport?fileType=pdf
Odniesienie:Logowanie do linku jest widoczne. Oryginał:Logowanie do linku jest widoczne. |