Tutorial JasperReports: Apa itu Jasper Report? Java?

โšก Ringkasan Cerdas

JasperReports untuk Java adalah mesin pelaporan sumber terbuka yang mengubah data aplikasi menjadi dokumen yang sempurna hingga tingkat piksel. Artikel ini menjelaskan siklus hidup pelaporan, instalasi Jaspersoft Studio, pembuatan templat laporan, struktur band, perbandingan dengan Pentaho, dan keterbatasan praktis yang dihadapi tim.

  • ๐Ÿ“Š Definisi Inti: JasperReports adalah sebuah Java Pustaka kelas yang merender data ke layar, printer, PDF, HTML, XLS, RTF, CSV, XML, ODT, dan TXT.
  • ๐Ÿ”„ Tahapan Siklus Hidup: Terdapat empat tahapan yang berjalan secara berurutan, yaitu mendesain JRXML, mengkompilasinya menjadi file .jasper, mengisinya dengan data, dan mengekspor hasilnya.
  • ๏ธ Lingkungan Desain: Jaspersoft Studio Community Edition menyediakan perancang visual, dan versi 6.21.3 adalah rilis komunitas saat ini.
  • ๐Ÿงฉ Struktur Band: Judul, header halaman, header kolom, detail, footer kolom, footer halaman, dan pita ringkasan mengontrol di mana setiap elemen dicetak.
  • ๐Ÿ”Œ Fleksibilitas Data: Satu laporan dapat menggabungkan JavaKoleksi Beans, kumpulan hasil SQL, file XML, dan adaptor data kustom.
  • ๏ธ Perbandingan Platform: Jaspersoft unggul dalam dokumentasi dan kecerdasan bisnis seluler, sementara Pentaho unggul dalam dasbor dan penambangan data.
  • โš ๏ธ Keterbatasan yang Diketahui: Laporan harus disusun sebelum dieksekusi, jadi setiap pengembang laporan membutuhkan pemahaman yang lengkap. Java SDK diinstal.

Tutorial JasperReports

Untuk apa JasperReports? Java?

Laporan Jasper adalah alat pelaporan sumber terbuka untuk Java yang digunakan untuk pelaporan aplikasi. Alat pelaporan ini membantu dalam menulis konten yang kaya ke layar, ke printer, atau ke berbagai file seperti HTML, PDF, XLS, RTF, CSV, XML, ODT, dan TXT. JasperReports juga dapat digunakan untuk Java-aplikasi yang diaktifkan seperti Java EE atau aplikasi web untuk menghasilkan konten dinamis.

Tiga nama produk muncul bersamaan dalam sebagian besar pembahasan, dan memisahkannya sejak awal mencegah kebingungan di kemudian hari pada halaman ini.

Nama Apa Apa Adanya Siapa yang menggunakannya?
Perpustakaan JasperReports The Java Pustaka yang menyusun, mengisi, dan mengekspor laporan. Java Pengembang menyematkan laporan dalam sebuah aplikasi.
Studio Jaspersoft The Eclipse Desainer visual berbasis yang menghasilkan file JRXML Laporan perancang tata letak bangunan
Server JasperReports Server mandiri yang menyimpan, menjadwalkan, dan mengirimkan laporan. Tim yang mendistribusikan laporan kepada pengguna bisnis

Halaman ini berfokus pada pustaka dan Jaspersoft Studio, karena kedua komponen tersebut adalah semua yang dibutuhkan untuk mendesain dan menjalankan laporan pertama. Perlu dicatat bahwa edisi komunitas sekarang hanya mencakup kedua komponen tersebut, karena JasperReports Server tidak lagi ditawarkan sebagai unduhan komunitas.

Mengapa menggunakan Laporan Jasper?

Berikut beberapa alasan mengapa Anda harus menggunakan alat pelaporan Jasper:

  • Ini menawarkan kinerja pembuatan laporan dan pengiriman kepada pengguna.
  • Ini membantu Anda merepresentasikan data Anda dalam format tekstual atau grafis.
  • Ini adalah server pelaporan mandiri dan tertanam untuk kompilasi dan pelaksanaan laporan.
  • Ini memungkinkan kontrol akses berbasis peran ke semua laporan di repositori.
  • Kerangka kerja Spring Security tersedia untuk integrasi dengan sistem otentikasi internal.
  • Sistem ini menawarkan mesin pelaporan interaktif yang aman, terjadwal, dan dikirim secara otomatis.
  • Anda dapat menyematkan laporan ke dalamnya Java atau non-Java aplikasi.
  • Berbagai format laporan dapat diekspor.
  • Itu dapat menghasilkan tanda air yang ditempatkan di atas gambar utama.
  • Ini menawarkan satu set lengkap SOAP, REST, dan Layanan Web.
  • Ini memungkinkan Anda menggunakan data laporan tunggal dari berbagai sumber data.

Karena pustaka ini dirilis di bawah lisensi LGPL, pustaka ini dapat dibundel di dalam produk komersial tanpa biaya per pengguna, yang merupakan alasan mengapa banyak Java Tim-tim memilihnya daripada mesin pelaporan eksklusif.

Fitur Laporan Jasper

Sekarang, kita akan membahas fitur-fitur JasperReports.

Berikut adalah fitur-fitur penting dari alat Jasper Reports:

  • Menawarkan tata letak laporan yang fleksibel di seluruh pita, kolom, dan wilayah bentuk bebas.
  • Pengembang dapat menyediakan data dengan berbagai cara, termasuk: JavaKoleksi Beans, kueri SQL, dan dokumen XML.
  • Berbagai sumber data dapat digabungkan dalam satu laporan melalui sub-laporan dan adaptor data.
  • Tanda air juga dapat diterapkan di atas gambar utama.
  • Anda dapat membuat sub-laporan yang tersarang di dalam tata letak induk.
  • Ini membantu Anda mengekspor laporan dalam berbagai format seperti PDF, HTML, RTF, dan Microsoft File Excel.
  • Mesin ini memungkinkan definisi laporan untuk menyertakan grafik seperti grafik batang, grafik lingkaran, grafik garis, dan grafik deret waktu.
  • Ekspresi laporan dapat ditulis dalam Java, Groovy, atau JavaNaskah.

Kemampuan ini diungkapkan melalui urutan pemrosesan tetap, yang akan dijelaskan tahap demi tahap di bagian selanjutnya.

Siklus Hidup JasperReports

Sekarang kita akan mempelajari tentang siklus hidup JasperReports.

Berikut adalah alur umum siklus hidup Jasper Reports:

Siklus Hidup JasperReports

Diagram di atas menunjukkan keempat tahapan secara berurutan. Setiap tahapan menghasilkan sebuah berkas yang menjadi masukan untuk tahapan berikutnya, itulah sebabnya urutan tersebut tidak pernah dapat dibalik.

Tahap Memasukkan Keluaran Ekstensi file
Merancang Keputusan tata letak Templat laporan .jrxml
kompilasi berkas .jrxml Templat biner yang dikompilasi .jasper
Pelaksana File .jasper plus data Laporan terisi .jrprint
Mengekspor berkas .jrprint Dokumen akhir .pdf, .html, .xls, dan lainnya

Merancang laporan

Ini akan menjadi langkah pertama di mana kita membuat file JRXML. Ini adalah dokumen XML sederhana yang mendefinisikan tata letak laporan. Anda dapat mengembangkan file ini menggunakan editor teks apa pun, atau perancang laporan.

Namun, jika Anda menggunakan perancang laporan, kita dapat memvisualisasikan tata letak laporan, dan struktur sebenarnya dari JRXML dapat diabaikan.

Menyusun laporan

Pada tahap siklus hidup ini, JRXML yang dibangun pada tahap pertama dikompilasi, dan sebuah objek biner yang disebut file Jasper (file dengan ekstensi jasper) dihasilkan.

Kompilasi ini dilakukan untuk mendapatkan performa yang lebih baik pada saat eksekusi. File Jasper yang dihasilkan ini harus dikirimkan bersama dengan aplikasi Anda untuk menjalankan laporan.

Menjalankan laporan

Pada tahap ini data dari aplikasi dikumpulkan dan diisi dalam format laporan yang telah disusun. Ada kelas bernama net.sf.jasperreports.engine.JasperFillManager yang menawarkan fungsi untuk mengisi data dalam laporan.

Hasilnya akan disimpan dalam file cetak Jasper (file dengan ekstensi jrprint) yang dapat digunakan untuk mencetak atau mengekspor laporan.

Mengekspor laporan ke format yang diinginkan

Pada tahap terakhir ini, Anda perlu mengekspor file cetak Jasper yang dibuat sebelumnya ke format apa pun menggunakan kelas JasperExportManager. Karena Jasper menawarkan berbagai format ekspor, kita dapat menggunakan masukan yang sama untuk membuat berbagai representasi data.

Cara Menginstal Jasper Reports โ€“ Pengaturan Lingkungan

Sekarang, mari kita pelajari proses langkah demi langkah untuk pengaturan lingkungan JasperReports. Tangkapan layar di bawah ini diambil dengan penginstal versi 6.9. Rilis komunitas saat ini adalah 6.21.3, yang diterbitkan pada 23 April 2024, dan urutan layarnya tidak berubah, meskipun nomor versi dalam nama file berbeda.

Langkah 1) Unduh laporan jasper edisi komunitas
Pergi ke ini Link lalu klik opsi Unduh Sekarang untuk menginstal Jasper Reports edisi Komunitas.

Instal Laporan Jasper- Pengaturan Lingkungan

Langkah 2) Pilih Jaspersoft Studio CE
Dari edisi komunitas, pilih Jaspersoft Studio CE.

Instal Laporan Jasper- Pengaturan Lingkungan

Langkah 3) Unduh Jaspersoft Studio
Pergi ke ini link lalu klik tombol Unduh, kemudian buka file instalasi yang telah diunduh untuk sistem operasi Anda.

Instal Laporan Jasper- Pengaturan Lingkungan

Langkah 4) Klik tombol setuju
Layar berikut akan muncul. Pilih tombol Saya setuju.

Instal Laporan Jasper- Pengaturan Lingkungan

Langkah 5) Pilih lokasi
Pilih lokasi pemasangan Anda dan klik tombol Berikutnya.

Instal Laporan Jasper- Pengaturan Lingkungan

Langkah 6) Kemajuan sedang berjalan sekarang
Anda akan melihat kemajuannya di layar berikutnya.

Instal Laporan Jasper- Pengaturan Lingkungan

Langkah 7) Klik tombol selesai
Di layar berikutnya, klik tombol selesai.

Instal Laporan Jasper- Pengaturan Lingkungan

Langkah 8) Kemajuan telah selesai
Layar berikut akan muncul di jendela Anda.

Instal Laporan Jasper- Pengaturan Lingkungan

Langkah 9) Memulai
Selanjutnya, klik opsi Mulai.

Instal Laporan Jasper- Pengaturan Lingkungan

Langkah 10) Mulai bekerja dengan studio Jasper Reports
Layar berikut akan muncul dan Anda dapat mulai bekerja dengan Jasper Reports Studio.

Instal Laporan Jasper- Pengaturan Lingkungan

๐Ÿ’ก Kiat: Jaspersoft Studio adalah sebuah Eclipse aplikasi berbasis dan membutuhkan yang kompatibel Java Runtime yang ada di mesin. Jika penginstal menolak untuk memulai, konfirmasikan versi JDK yang terpasang sebelum menginstal ulang.

Membuat Contoh Template Laporan

Sekarang mari kita pelajari cara membuat template laporan di JasperReports.

File templat laporan yang digunakan di JasperReports adalah file XML sederhana dengan ekstensi jrxml. File ini berisi tag jasperReport sebagai elemen akarnya. Kerangka kerja JasperReports dapat menangani berbagai jenis sumber data.

Templat laporan dirancang dan dibuat menggunakan langkah-langkah berikut.

Langkah 1) Membuat file JRXML di Jaspersoft Studio.

  1. Buka opsi File.
  2. Pilih sub-menu Baru.
  3. Klik opsi Laporan Jasper.

Membuat Contoh Template Laporan

Langkah 2) Memilih templat yang diinginkan.

  1. Pilih template Anda, misalnya cherry.
  2. Klik tombol "Selanjutnya".

Membuat Contoh Template Laporan

Langkah 3) Memilih folder induk.

  1. Pilih folder MyReports.
  2. Masukkan nama file, misalnya โ€œLaporan Cherryโ€.
  3. Klik tombol "Selanjutnya".

Membuat Contoh Template Laporan

Langkah 4) Di jendela Sumber Data, klik tombol โ€œBaruโ€ untuk membuat adaptor data baru.

Membuat Contoh Template Laporan

Langkah 5) Memilih adaptor data.

  1. Pilih adaptor data dari kotak daftar. Misalnya, โ€œKoleksi dari JavaKacang.โ€
  2. Klik tombol "Selanjutnya".

Membuat Contoh Template Laporan

Langkah 6) Memasukkan detail adaptor data dan memilih kelas pabrik.

  1. Masukkan nama untuk adaptor Anda.
  2. Pilih kelas pabrik dengan mengklik tombol โ€œโ€ฆโ€.

Membuat Contoh Template Laporan

Langkah 7) Memasukkan awalan atau pola.

  1. Masukkan awalan nama atau pola.
  2. Klik item yang cocok.
  3. Klik pada tombol "Oke".

Membuat Contoh Template Laporan

Langkah 8) Mendefinisikan kelas pabrik dan menambahkan jalur ke file jar.

  1. Masukkan nama metode statis di kelas pabrik. Dalam contoh laporan Jasper ini, ini adalah createBeanCollection.
  2. Jika Anda JavaDefinisi Bean memiliki deskripsi field, dan jika Anda ingin menggunakan deskripsi ini sebagai nama di Jaspersoft Studio, centang kotak centang "gunakan deskripsi field".
  3. Tambahkan jalur ke file jar Anda.
  4. Klik tombol โ€œSelesaiโ€.

Membuat Contoh Template Laporan

Langkah 9) Klik tombol "Selanjutnya".

Membuat Contoh Template Laporan

Langkah 10) Selamat! Anda telah berhasil menambahkan semua informasi yang diperlukan untuk pembuatan laporan. Klik tombol โ€œSelesaiโ€.

Membuat Contoh Template Laporan

Laporan akan dihasilkan seperti yang ditampilkan pada layar di bawah ini.

Membuat Contoh Template Laporan

Berkas di atas perlu dikompilasi ke dalam format biner JasperReport, yang disebut berkas jasper.

Antarmuka net.sf.jasperreports.engine.design.JRCompiler, yang merupakan bagian dari pustaka JasperReports, memainkan peran penting dalam kompilasi file templat laporan ini.

Implementasi antarmuka ini dapat ditulis Java, JavaNaskah, Groovy, atau bahasa skrip lainnya.

Anda dapat mengkompilasi file JRXML menggunakan dua metode berikut:

  • Kompilasi terprogram dari Java kode.
  • Kompilasi menggunakan sebuah Apache Semut tugas.

Cuplikan di bawah ini menunjukkan jalur pemrograman, di mana satu baris mengkompilasi templat dan baris kedua mengisinya dengan sebuah JavaKoleksi kacang.

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");
    }
}

Keluaran:

Report exported successfully

Memahami Berbagai Tingkat Laporan

Tata letak JasperReports dibagi menjadi bagian horizontal yang disebut band. Setiap band memiliki aturan pencetakan tetap, dan memahami aturan-aturan tersebut memungkinkan seorang desainer untuk mengontrol secara tepat di mana suatu nilai muncul dalam dokumen akhir.

Berikut adalah rentang laporan standar yang diadopsi oleh sebagian besar alat pembuatan laporan komersial.

  • Judul
  • Kepala halaman
  • Tajuk kolom
  • Detil
  • Catatan kaki kolom
  • Catatan kaki halaman
  • Catatan kaki halaman terakhir
  • Ringkasan
  • Header grup
  • Footer grup
  • Latar Belakang
  • Tidak ada data

Mari kita pelajari setiap rentang pelaporan secara detail.

Judul

Pita ini ditampilkan di bagian awal laporan. Pita ini dapat ditempatkan di halaman pertama tersendiri dengan mengatur atributnya. isTitleNewPage="true".

Kepala halaman

Pita header halaman ditampilkan di bagian awal setiap halaman. Pita ini tidak termasuk halaman pertama jika pita judul digunakan, dan halaman terakhir jika pita ringkasan digunakan dengan pengaturan tertentu. isSummaryWithPageHeaderAndFooter="false".

Judul Kolom

Header kolom muncul sebelum pita detail di setiap halaman.

Detil

Bagian detail diulang untuk setiap catatan dalam sumber data yang diberikan. Bagian ini juga diperbolehkan memiliki beberapa band detail (1, 2, dan seterusnya).

Catatan Kaki Kolom

Bagian ini muncul di bawah detail band pada setiap halaman tempat detail band tersebut ada. Pengaturan default adalah di akhir halaman, tetapi ini dapat diubah agar berada di bawah detail band terakhir dengan mengatur atribut tersebut. isFloatColumnFooter="true".

Footer Halaman

Bagian ini akan ditampilkan di akhir setiap halaman, kecuali bagian ringkasan, bagian judul, dan bagian non-ringkasan terakhir.

Catatan Kaki Halaman Terakhir

Bagian ini muncul di halaman terakhir, menggantikan footer halaman biasa, jika tidak ada bagian ringkasan yang diberikan.

Ringkasan

Bagian ringkasan hanya muncul di akhir laporan pada halaman baru ketika isSummaryNewPage="true" diatur, dan dengan header dan footer halaman ketika isSummaryWithPageHeaderAndFooter="true" diatur.

Header Grup

Bagian ini hanya muncul ketika didefinisikan, setiap kali ekspresi grup berubah, sebelum detail band.

Footer Grup

Bagian ini hanya ditampilkan jika grup telah didefinisikan, setiap kali sebelum ekspresi grup berubah, setelah detail band.

Latar Belakang

Gambar tersebut ditampilkan di semua halaman sebagai latar belakang untuk semua pita pelaporan lainnya.

Tidak ada data

Pita ini akan muncul ketika tidak ada sumber data yang dilewatkan, atau sumber data kosong dan whenNoDataType="NoDataSection" diatur.

Jasper vs Pentaho

Sekarang kita akan mempelajari perbedaan antara Jasper dan Pentaho.

Berikut perbedaan utama antara Jasper dan Pentaho:

Parameter Teknis Yasper Pentaho
Laporan Jasper menggunakan Jaspersoft Studio untuk mendesain laporan. Aplikasi ini menggunakan Pentaho Report Designer.
dukungan ETL Jaspersoft menggunakan Talend Open Studio versi terbaru untuk keperluan ETL. Ini menggunakan Pentaho Data Integrator sebagai default alat ETL.
Menu Utama Fitur dashboard hanya tersedia di edisi Enterprise Jaspersoft. Pentaho menawarkan berbagai fitur dalam dasbor mereka.
Intelijen Bisnis Seluler Jaspersoft memiliki dukungan BI seluler yang lebih baik. Pentaho perlu mengandalkan alat pihak ketiga untuk meningkatkan pengalaman BI seluler.
Dokumentasi Pemasaran, situs, dan dokumentasi yang lebih baik. Dukungan dokumentasi buruk.
Fitur terbaik Lebih mudah untuk meneliti dan menemukan apa yang Anda butuhkan. Menawarkan penambangan data dan integrasi iPhone.
Versi berbayar Versi berbayar menawarkan fitur seperti permintaan ad hoc UI web dan pembuatan dasbor UI web. Menawarkan fitur-fitur seperti integrasi LDAP, SSO, dan audit.

Tim-tim yang sudah berinvestasi di Java Tim yang biasanya memilih stack stack adalah Jasper, sementara tim yang membutuhkan integrasi data yang besar beserta pelaporan sering memilih Pentaho.

Tantangan yang dihadapi saat membuat JasperReports

Berikut beberapa tantangan yang akan Anda hadapi saat membuat Laporan Jasper:

  • Perubahan inti โ€“ ketika aturan bisnis berubah atau ditingkatkan, diperlukan perubahan pada logika inti laporan.
  • Laporan yang rumit โ€“ sub-laporan dan laporan tabulasi silang adalah contoh yang baik.
  • Laporan berupa grafik atau bagan visual, misalnya grafik, garis XY, diagram lingkaran, grafik batang, deret waktu, dan grafik meter.

Kekurangan menggunakan Laporan Jasper

Berikut adalah kekurangan menggunakan Jasper Reports.

  • Begitu Anda mulai melakukan perubahan pada bagian-bagian paket dan menghapus fitur-fitur tertentu, akan sangat sulit untuk kembali ke pengaturan paket default.
  • Sistem ini terlalu kaku, dan penyuntingan baris serta pembuatan tabel silang merupakan tugas yang menantang.
  • Beberapa tugas umum, seperti menentukan subtotal untuk laporan yang dikelompokkan, lebih mudah dilakukan di perancang laporan lainnya.
  • Jasper mengharuskan Anda mengkompilasi laporan sebelum menjalankannya. Artinya pengembang laporan harus memiliki keseluruhan Java SDK diinstal.
  • Terkadang saat Anda mengedit laporan, pratinjau tidak ditampilkan sama seperti yang ditampilkan di web.

Pertanyaan Umum Demo Slot

File .jrxml adalah templat XML yang dapat dibaca manusia yang diedit oleh para desainer. File .jasper adalah biner hasil kompilasi yang dihasilkan dari templat tersebut, dan hanya file hasil kompilasi yang dieksekusi saat runtime.

Pustaka JasperReports dan Jaspersoft Studio Community Edition dirilis di bawah lisensi sumber terbuka dan dapat disematkan dalam produk komersial. Fitur dasbor, penjadwalan, dan keamanan memerlukan edisi berbayar.

Ya. Buat adaptor data JDBC di Jaspersoft Studio, berikan file jar driver dan string koneksi, lalu tulis kueri di dalam laporan. Parameter dilewatkan dengan sintaks dolar dan kurung kurawal.

Ya. Tambahkan dependensi jasperreports, tempatkan file .jasper yang telah dikompilasi di classpath, dan panggil JasperFillManager dari kelas layanan. Byte yang diekspor dapat langsung dialirkan ke respons HTTP.

Asisten AI dapat membuat kerangka JRXML dan sintaks ekspresi dengan cepat. Selalu buka file yang dihasilkan di Jaspersoft Studio, karena ketinggian pita dan koordinat elemen seringkali perlu dikoreksi secara manual.

Sistem ini menangani dokumen operasional yang sangat detail (pixel perfect) yang tidak dihasilkan oleh dasbor AI, seperti faktur dan laporan. Output model ditulis ke dalam basis data, dan Jasper merendernya untuk didistribusikan.

Ringkaslah postingan ini dengan: