Samouczek JasperReports: Do czego służy raport Jasper Java?

⚡ Inteligentne podsumowanie

Raporty Jasper dla Java to silnik raportowania typu open source, który przekształca dane aplikacji w dokumenty o doskonałej jakości. W tym artykule omówiono cykl życia raportów, instalację Jaspersoft Studio, tworzenie szablonów raportów, strukturę pasma, porównanie z Pentaho oraz praktyczne ograniczenia, z jakimi borykają się zespoły.

  • 📊 Definicja podstawowa: JasperReports to Java biblioteka klas, która renderuje dane na ekranie, w drukarkach, w formatach PDF, HTML, XLS, RTF, CSV, XML, ODT i TXT.
  • 🔄 Etapy cyklu życia: Proces składa się z czterech etapów, a mianowicie: zaprojektowania pliku JRXML, skompilowania go do pliku .jasper, wypełnienia go danymi i wyeksportowania wyniku.
  • 🖥️. Środowisko projektowe: Jaspersoft Studio Community Edition udostępnia projektanta wizualnego. Najnowszą wersją społecznościową jest wersja 6.21.3.
  • 🧩 Struktura zespołu: Tytuł, nagłówek strony, nagłówek kolumny, szczegół, stopka kolumny, stopka strony i podsumowanie kontrolują miejsce, w którym drukowany jest każdy element.
  • 🔌 Elastyczność danych: Pojedynczy raport może łączyć JavaKolekcje Beans, zestawy wyników SQL, pliki XML i niestandardowe adaptery danych.
  • ⚖️. Porównanie platform: Jaspersoft jest odpowiedzialny za dokumentację i mobilne rozwiązania Business Intelligence, podczas gdy Pentaho zajmuje się pulpitami nawigacyjnymi i eksploracją danych.
  • ⚠️ Znane ograniczenie: Raporty muszą zostać skompilowane przed wykonaniem, dlatego każdy twórca raportów potrzebuje pełnego Java Zainstalowano SDK.

Samouczek JasperReports

Do czego służy JasperReports Java?

JasperRaporty to narzędzie do raportowania typu open source dla Java Służy do raportowania aplikacji. To narzędzie do raportowania pomaga w tworzeniu rozbudowanych treści na ekranie, drukowaniu lub w różnych plikach, takich jak HTML, PDF, XLS, RTF, CSV, XML, ODT i TXT. JasperReports może być również używany do Java-włączone aplikacje, takie jak Java EE lub aplikacje internetowe do generowania treści dynamicznych.

W większości dyskusji pojawiają się razem trzy nazwy produktów, a rozdzielenie ich na początku pozwala uniknąć nieporozumień w dalszej części tej strony.

Imię i nazwisko Co to jest Kto tego używa
Biblioteka JasperReports Java biblioteka, która kompiluje, wypełnia i eksportuje raporty Java programiści osadzający raporty w aplikacji
Studio Jaspersoft Eclipse projektant wizualny oparty na technologii JRXML, który tworzy pliki JRXML Projektanci raportów budują układy
Serwer JasperReports Samodzielny serwer, który przechowuje, planuje i dostarcza raporty Zespoły dystrybuujące raporty do użytkowników biznesowych

Ta strona koncentruje się na bibliotece i Jaspersoft Studio, ponieważ te dwa komponenty są wystarczające do zaprojektowania i uruchomienia pierwszego raportu. Należy pamiętać, że wersja Community obejmuje teraz tylko te dwa komponenty, ponieważ JasperReports Server nie jest już oferowany do pobrania w ramach społeczności.

Dlaczego warto korzystać z raportów Jaspera?

Oto wiele powodów, dla których warto korzystać z narzędzia do tworzenia raportów Jasper:

  • Oferuje wydajność generowania raportów i dostarczanie ich użytkownikom.
  • Pomaga przedstawić dane w formacie tekstowym lub graficznym.
  • Jest to samodzielny i wbudowany serwer raportowania służący do kompilacji i wykonywania raportów.
  • Umożliwia kontrolę dostępu opartą na rolach do wszystkich raportów w repozytorium.
  • Dostępna jest infrastruktura Spring Security umożliwiająca integrację z wewnętrznymi systemami uwierzytelniania.
  • Oferuje bezpieczny, zaplanowany i automatycznie dostarczany interaktywny moduł raportowania.
  • Możesz osadzać raporty w Java lub nieJava aplikacji.
  • Można eksportować różne formaty raportów.
  • Może generować znaki wodne nakładane na obraz główny.
  • Oferuje kompletny zestaw SOAP, REST i usługi internetowe.
  • Umożliwia wykorzystanie danych z jednego raportu z wielu źródeł danych.

Ponieważ biblioteka jest udostępniana na licencji LGPL, można ją dołączać do produktów komercyjnych bez opłaty za każde stanowisko, co jest powodem, dla którego wiele Java Zespoły wybierają ją zamiast zastrzeżonych silników raportowania.

Funkcje raportów Jaspera

Teraz omówimy funkcje JasperReports.

Oto najważniejsze funkcje narzędzia Jasper Reports:

  • Oferuje elastyczny układ raportu w pasmach, kolumnach i obszarach o dowolnym kształcie.
  • Programiści mogą dostarczać dane na wiele sposobów, w tym: JavaKolekcje Beans, zapytania SQL i dokumenty XML.
  • Za pomocą podraportów i adapterów danych można łączyć wiele źródeł danych w jednym raporcie.
  • Znaki wodne można również stosować na obrazie głównym.
  • Można generować podraporty, które są zagnieżdżone w układzie nadrzędnym.
  • Pomaga eksportować raporty w różnych formatach, np PDF, HTML, RTF i Microsoft Pliki Excel.
  • Silnik pozwala na uwzględnienie w definicjach raportów wykresów takich jak: słupkowy, kołowy, liniowy i szereg czasowy.
  • Wyrażenia raportu można zapisać w Java, Groovylub JavaScenariusz.

Możliwości te ujawniają się poprzez ustaloną sekwencję przetwarzania, którą w następnej sekcji opisano etap po etapie.

Cykl życia JasperReports

Teraz poznamy cykl życia JasperReports.

Poniżej przedstawiono ogólny przebieg cyklu życia Jasper Reports:

Cykl życia JasperReports

Powyższy diagram przedstawia cztery etapy w kolejności. Każdy etap generuje plik, który staje się danymi wejściowymi dla kolejnego etapu, dlatego tej sekwencji nie da się odwrócić.

STAGE Wkład Wydajność Rozszerzenie pliku
Projektowanie Decyzje dotyczące układu Szablon raportu .jrxml
Kompilowanie Plik .jrxml Skompilowany szablon binarny .jaspis
Wykonanie Plik .jasper plus dane Wypełniony raport .jrprint
Eksportowanie Plik .jrprint Dokument końcowy .pdf, .html, .xls i inne

Projektowanie raportu

To będzie pierwszy krok, w którym utworzymy plik JRXML. Jest to prosty dokument XML, który definiuje układ raportu. Możesz utworzyć ten plik za pomocą dowolnego edytora tekstu lub projektanta raportów.

Jeśli jednak używasz projektanta raportów, możesz zwizualizować układ raportu, a rzeczywistą strukturę JRXML możesz zignorować.

Sporządzanie raportu

Na tym etapie cyklu życia kompilowany jest plik JRXML utworzony na pierwszym etapie, a następnie generowany jest obiekt binarny zwany plikiem Jasper (plik z rozszerzeniem jasper).

Ta kompilacja ma na celu uzyskanie lepszej wydajności podczas wykonywania. Wygenerowane pliki Jasper należy dostarczyć wraz z aplikacją w celu uruchomienia raportów.

Wykonywanie raportu

Na tym etapie zbierane są dane z aplikacji i wypełniane w formie opracowanego raportu. Istnieje klasa o nazwie net.sf.jasperreports.engine.JasperFillManager, która oferuje funkcje wypełniania danych w raportach.

Dane wyjściowe zostaną zapisane w pliku wydruku Jasper (plik z rozszerzeniem jrprint), którego można użyć do wydrukowania lub wyeksportowania raportu.

Eksportowanie raportu do żądanego formatu

W tym ostatnim etapie należy wyeksportować utworzony wcześniej plik wydruku Jaspera do dowolnego formatu przy użyciu klasy JasperExportManager. Ponieważ Jasper oferuje wiele formatów eksportu, możemy użyć tych samych danych wejściowych do utworzenia różnych reprezentacji danych.

Jak zainstalować raporty Jasper – konfiguracja środowiska

Teraz poznajmy krok po kroku proces konfiguracji środowiska JasperReports. Poniższe zrzuty ekranu zostały wykonane za pomocą instalatora 6.9. Aktualna wersja społecznościowa to 6.21.3, opublikowana 23 kwietnia 2024 r., a kolejność ekranów pozostaje niezmieniona, chociaż numer wersji w nazwie pliku jest inny.

Krok 1) Pobierz jasper reports community edition
Idź do tego Połączyć i kliknij opcję Pobierz teraz, aby zainstalować wersję Jasper Reports Community.

Zainstaluj raporty Jasper — konfiguracja środowiska

Krok 2) Wybierz Jaspersoft Studio CE
Spośród edycji społecznościowych wybierz Jaspersoft Studio CE.

Zainstaluj raporty Jasper — konfiguracja środowiska

Krok 3) Pobierz Jaspersoft Studio
Idź do tego link i kliknij przycisk Pobierz, a następnie otwórz pobrany plik wykonywalny instalatora odpowiedni do Twojego systemu operacyjnego.

Zainstaluj raporty Jasper — konfiguracja środowiska

Krok 4) Kliknij przycisk „zgadzam się”
Pojawi się następujący ekran. Kliknij przycisk „Zgadzam się”.

Zainstaluj raporty Jasper — konfiguracja środowiska

Krok 5) Wybierz lokacje
Wybierz miejsce instalacji i kliknij przycisk Dalej.

Zainstaluj raporty Jasper — konfiguracja środowiska

Krok 6) Postęp już trwa
Postęp zobaczysz na następnym ekranie.

Zainstaluj raporty Jasper — konfiguracja środowiska

Krok 7) Kliknij przycisk Zakończ
Na następnym ekranie kliknij przycisk Zakończ.

Zainstaluj raporty Jasper — konfiguracja środowiska

Krok 8) Postęp jest zakończony
W Twoim oknie pojawi się następujący ekran.

Zainstaluj raporty Jasper — konfiguracja środowiska

Krok 9) Zacznij teraz
Następnie kliknij opcję Rozpocznij.

Zainstaluj raporty Jasper — konfiguracja środowiska

Krok 10) Rozpocznij współpracę ze studiem Jasper Reports
Pojawi się poniższy ekran i będziesz mógł rozpocząć pracę w studiu Jasper Reports.

Zainstaluj raporty Jasper — konfiguracja środowiska

💡 Wskazówka: Jaspersoft Studio to Eclipse oparta na aplikacji i wymaga kompatybilnego Java Środowisko wykonawcze jest obecne na komputerze. Jeśli instalator odmawia uruchomienia, przed ponowną instalacją sprawdź zainstalowaną wersję JDK.

Tworzenie przykładowego szablonu raportu

Teraz nauczymy się, jak utworzyć szablon raportu w JasperReports.

Plik szablonu raportu używany w JasperReports to prosty plik XML z rozszerzeniem jrxml. Ten plik zawiera znacznik jasperReport jako element główny. Framework JasperReports obsługuje różne typy źródeł danych.

Szablon raportu jest projektowany i tworzony w następujący sposób.

Krok 1) Tworzenie pliku JRXML w Jaspersoft Studio.

  1. Przejdź do opcji Plik.
  2. Wybierz podmenu Nowy.
  3. Kliknij opcję Raport Jasper.

Tworzenie przykładowego szablonu raportu

Krok 2) Wybór żądanego szablonu.

  1. Wybierz swój szablon, na przykład wiśnia.
  2. Kliknij przycisk „Dalej”.

Tworzenie przykładowego szablonu raportu

Krok 3) Wybieranie folderu nadrzędnego.

  1. Wybierz folder MyReports.
  2. Wprowadź nazwę pliku, na przykład „Raport Wiśniowy”.
  3. Kliknij przycisk „Dalej”.

Tworzenie przykładowego szablonu raportu

Krok 4) W oknie Źródło danych kliknij przycisk „Nowy”, aby utworzyć nowy adapter danych.

Tworzenie przykładowego szablonu raportu

Krok 5) Wybór adaptera danych.

  1. Wybierz adapter danych z listy. Na przykład „Kolekcja JavaFasola.”
  2. Kliknij przycisk „Dalej”.

Tworzenie przykładowego szablonu raportu

Krok 6) Wprowadzanie szczegółów adaptera danych i wybieranie klasy fabrycznej.

  1. Wprowadź nazwę adaptera.
  2. Wybierz klasę fabryczną klikając przycisk „…”.

Tworzenie przykładowego szablonu raportu

Krok 7) Wprowadzanie prefiksu lub wzorca.

  1. Wprowadź przedrostek nazwy lub wzór.
  2. Kliknij pasujące elementy.
  3. Kliknij przycisk „OK”.

Tworzenie przykładowego szablonu raportu

Krok 8) Zdefiniowanie klasy fabrycznej i dodanie ścieżki do plików jar.

  1. Wprowadź nazwę metody statycznej w klasie fabryki. W tym przykładzie raportu Jaspera jest to createBeanCollection.
  2. Jeżeli twój JavaDefinicja Beans zawiera opisy pól, a jeśli chcesz użyć ich jako nazw w Jaspersoft Studio, zaznacz pole wyboru Użyj opisu pola.
  3. Dodaj ścieżkę do plików jar.
  4. Kliknij przycisk „Zakończ”.

Tworzenie przykładowego szablonu raportu

Krok 9) Kliknij przycisk „Dalej”.

Tworzenie przykładowego szablonu raportu

Krok 10) Gratulacje! Pomyślnie dodałeś wszystkie niezbędne informacje do utworzenia raportu. Kliknij przycisk „Zakończ”.

Tworzenie przykładowego szablonu raportu

Raport zostanie wygenerowany tak, jak pokazano na poniższym zrzucie ekranu.

Tworzenie przykładowego szablonu raportu

Powyższy plik wymaga kompilacji do binarnego formatu JasperReport, który nazywany jest plikiem jasper.

Interfejs net.sf.jasperreports.engine.design.JRCompiler, który jest częścią biblioteki JasperReports, odgrywa ważną rolę w kompilacji pliku szablonu raportu.

Implementację tego interfejsu można zapisać Java, JAVASCRIPT, Groovylub dowolnym innym języku skryptowym.

Możesz skompilować plik JRXML, korzystając z dwóch następujących metod:

  • Kompilacja programowa z Java kod.
  • Kompilacja przy użyciu Mrówka Apache zadaniem.

Poniższy fragment kodu przedstawia ścieżkę programową, w której jeden wiersz kompiluje szablon, a drugi wypełnia go JavaKolekcja fasoli.

import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;

public class ReportRunner {

    public static void main(String[] args) throws JRException {

        // 1. Compile the JRXML template into a .jasper file
        JasperReport report = JasperCompileManager.compileReport("CherryReport.jrxml");

        // 2. Fill the compiled template with a collection of beans
        JRBeanCollectionDataSource source =
                new JRBeanCollectionDataSource(EmployeeFactory.createBeanCollection());

        JasperPrint print = JasperFillManager.fillReport(report, null, source);

        // 3. Export the filled report to PDF
        JasperExportManager.exportReportToPdfFile(print, "CherryReport.pdf");

        System.out.println("Report exported successfully");
    }
}

Wyjście:

Report exported successfully

Zrozumienie różnych pasm raportów

Układ JasperReports jest podzielony na poziome sekcje zwane pasmami. Każdy pas ma ustaloną regułę drukowania, a zrozumienie tych reguł pozwala projektantowi kontrolować, gdzie dokładnie wartość pojawi się w gotowym dokumencie.

Poniżej przedstawiono standardowe pasma raportów stosowane przez większość komercyjnych narzędzi do generowania raportów.

  • Tytuł
  • Nagłówek
  • Nagłówek kolumny
  • Szczegół
  • Stopka kolumny
  • Stopka stony
  • Stopka ostatniej strony
  • Podsumowanie
  • Nagłówek grupy
  • Stopka grupy
  • Tło
  • Brak danych

Przyjrzyjmy się bliżej każdemu zespołowi sprawozdawczemu.

Tytuł

Ten pasek jest wyświetlany na początku raportu. Można go umieścić na pierwszej stronie, ustawiając atrybut isTitleNewPage="true".

Nagłówek

Pasek nagłówka strony jest wyświetlany na początku każdej strony. Nie obejmuje on pierwszej strony, jeśli używany jest pasek tytułu, ani ostatniej strony, jeśli używany jest pasek podsumowania z ustawieniem isSummaryWithPageHeaderAndFooter="false".

Nagłówek kolumny

Nagłówki kolumn pojawiają się przed paskiem szczegółów na każdej stronie.

Szczegół

Sekcja szczegółów jest iterowana dla każdego rekordu w dostarczonym źródle danych. Dozwolone jest również posiadanie wielu pasm szczegółów (1, 2 itd.).

Stopka kolumny

Ta sekcja pojawia się pod pasmem szczegółów na każdej stronie, na której występuje pasmo szczegółów. Domyślnym ustawieniem jest koniec strony, ale można je zmienić, aby znajdowało się pod ostatnim pasmem szczegółów, ustawiając atrybut. isFloatColumnFooter="true".

Stopka stony

Ta sekcja będzie wyświetlana na końcu każdej strony, z wyłączeniem pasma podsumowującego, pasma tytułowego i ostatniego pasma niepodsumowującego.

Stopka ostatniej strony

Ta sekcja pojawia się na ostatniej stronie, w miejscu normalnej stopki strony, jeśli nie podano podsumowania.

Podsumowanie

Sekcja podsumowania pojawia się tylko na końcu raportu na nowej stronie, gdy isSummaryNewPage="true" jest ustawiony, a wraz z nagłówkiem i stopką strony, gdy isSummaryWithPageHeaderAndFooter="true" jest ustawiona.

Nagłówek grupy

Sekcja ta pojawia się tylko wtedy, gdy jest zdefiniowana, za każdym razem, gdy wyrażenie grupy ulega zmianie, przed pasmem szczegółów.

Stopka grupy

Ta sekcja wyświetla się tylko wtedy, gdy grupa jest zdefiniowana, za każdym razem przed zmianą wyrażenia grupy, po paśmie szczegółów.

Tło

Jest on wyświetlany na wszystkich stronach jako tło dla wszystkich innych pasm sprawozdawczych.

Brak danych

Ten pasek pojawi się, gdy nie przekazano żadnego źródła danych lub gdy źródło danych jest puste i whenNoDataType="NoDataSection" jest ustawiona.

Jasper kontra Pentaho

Teraz poznamy różnice pomiędzy Jasperem i Pentaho.

Oto główne różnice między Jasper i Pentaho:

Parametry Jaspis Pentaho
Raporty Do projektowania raportów Jasper używa Jaspersoft Studio. Wykorzystuje Pentaho Report Designer.
Wsparcie ETL Do celów ETL firma Jaspersoft wykorzystuje wersję Talend Open Studio. Domyślnie korzysta z Pentaho Data Integrator Narzędzie ETL.
Panel Funkcjonalność pulpitu nawigacyjnego jest dostępna wyłącznie w wersji Enterprise oprogramowania Jaspersoft. Pentaho oferuje szeroką gamę funkcji w swoich panelach sterowania.
Mobilna inteligencja biznesowa Jaspersoft oferuje lepszą obsługę mobilnych rozwiązań BI. Pentaho musi skorzystać z narzędzia innej firmy, aby usprawnić działanie mobilnego narzędzia BI.
Dokumenty Lepszy marketing, witryny i dokumentacja. Obsługa dokumentacji jest słaba.
Najlepszą cechą Łatwiejsze wyszukiwanie i znajdowanie tego, czego potrzebujesz. Oferuje eksplorację danych i integrację z iPhonem.
Wersja płatna Wersja płatna oferuje funkcje takie jak zapytanie ad hoc tworzenie interfejsu użytkownika sieci Web i pulpitu nawigacyjnego. Oferuje funkcje takie jak integracja LDAP, logowanie jednokrotne i audyt.

Zespoły już zainwestowały w Java Stack zazwyczaj wybiera Jasper, podczas gdy zespoły, które potrzebują intensywnej integracji danych wraz z raportowaniem, często wybierają Pentaho.

Wyzwania stojące podczas tworzenia JasperReports

Oto kilka wyzwań, z którymi będziesz musiał się zmierzyć podczas tworzenia raportów Jasper:

  • Zmiany podstawowe – gdy reguły biznesowe ulegają zmianie lub zostają udoskonalone, konieczna jest zmiana podstawowej logiki raportu.
  • Skomplikowane raporty – dobrymi przykładami są podraporty i raporty tabelaryczne.
  • Raporty wykresowe lub wykresy wizualne, na przykład wykresy liniowe, XY, kołowe, słupkowe, szeregi czasowe i wykresy miernikowe.

Wady korzystania z raportów Jaspera

Oto wady korzystania z Jasper Reports.

  • Gdy zaczniesz wprowadzać jakiekolwiek zmiany w częściach pakietu i usuwać funkcje, bardzo trudno będzie powrócić do domyślnych ustawień pakietu.
  • Jest zbyt sztywny, a edycja linii i tworzenie tabel krzyżowych jest trudnym zadaniem.
  • Niektóre typowe zadania, takie jak określanie sum częściowych dla raportu grupowego, są łatwiejsze do wykonania w innych projektantach raportów.
  • Jasper wymaga kompilacji raportów przed ich uruchomieniem. Oznacza to, że twórcy raportów muszą mieć całość Java Zainstalowano SDK.
  • Czasami podczas edycji raportu jego podgląd nie jest taki sam, jak ten wyświetlany w Internecie.

FAQ

Plik .jrxml to czytelny dla człowieka szablon XML, który edytują projektanci. Plik .jasper to skompilowany plik binarny, który jest z niego generowany i tylko skompilowany plik jest wykonywany w czasie wykonywania.

Biblioteka JasperReports i Jaspersoft Studio Community Edition są udostępniane na licencji open source i mogą być osadzane w produktach komercyjnych. Do obsługi pulpitów nawigacyjnych, harmonogramu i funkcji bezpieczeństwa wymagana jest wersja płatna.

Tak. Utwórz adapter danych JDBC w Jaspersoft Studio, dostarcz plik jar sterownika i ciąg połączenia, a następnie wpisz zapytanie w raporcie. Parametry są przekazywane za pomocą symbolu dolara i nawiasu klamrowego.

Tak. Dodaj zależność jasperreports, umieść skompilowane pliki .jasper w ścieżce klas i wywołaj JasperFillManager z klasy usługi. Wyeksportowane bajty można przesyłać strumieniowo bezpośrednio do odpowiedzi HTTP.

Asystenci AI mogą szybko tworzyć szkielety JRXML i składnię wyrażeń. Zawsze otwieraj wygenerowany plik w Jaspersoft Studio, ponieważ wysokości pasm i współrzędne elementów często wymagają ręcznej korekty.

Obsługuje on dokumenty operacyjne z dokładnością co do piksela, których nie generują panele AI, takie jak faktury i wyciągi. Dane wyjściowe modelu są zapisywane w bazie danych, a Jasper renderuje je do dystrybucji.

Podsumuj ten post następująco: