JasperReports, Java için uygulama raporları üreten açık kaynaklı bir raporlama aracıdır. Bu raporlama aracı, zengin rapor içeriğinin ekranlara, yazıcılara veya HTML, PDF, XLS, RTF, CSV, XML, ODT ve TXT gibi çeşitli dosya formatlarına aktarılmasını destekler.
JasperReports, Java EE gibi Java destekli uygulamalar veya web uygulamaları için dinamik içerik üretmek için de kullanılabilir.
JasperReports'u Yükle
Jasper Reports Community Edition'u buradan yükleyin.
https://community.jaspersoft.com/community-download
Jasper rapor yapısı
.jrxml rapor şablonu, aşağıdaki diyagramda gösterildiği gibi aşağıdaki bölümlerden oluşur.
1. Başlık, raporun "başlığı"nı içerir. Raporun başında sadece bir kez yer alıyor. Örneğin, raporun başlığı "Öğrenci Raporu"dur.
2. Sayfa başlığında tarih ve saat bilgileri veya kurum adı yer alabilir. Her sayfanın üstünde gösterilir. Örneğin: sayfa başlığı "Öğrenci Kayıtları" olabilir.
3. Sütun başlıkları, raporda gösterilecek belirli alanların isimlerini listeler; örneğin "Öğrenci Kimliği", "Öğrenci Adı", "Öğrenci Adresi" vb.
4. Detaylı bilgi bölümü, belirli alanlar için girişleri gösterir. Örneğin: Öğrenci Kimliği = 101, Öğrenci Adı = "Den Peek", Öğrenci Adresi = "Pune".
5. Sütun tabanları herhangi bir alanın toplamını gösterebilir. Örneğin, "Toplam çalışma süresi: günde 6 saat."
6. Alt sayfa numarası bilgisi içerebilir. Her sayfanın alt kısmında gösterilir, örneğin: "Sayfa numaraları 1, 2, 3 ve tüm sayfa numaraları."
7. Özet: Raporun özeti, özetin içinde en az bir kez yazılmış.
JasperReports — Yaşam döngüsü
Raporu tasarlayın — Bu adımda, rapor düzeni tanımını içeren bir XML belgesi olan bir JRXML dosyası oluşturacağız. Derleme Raporu - Bu adımda, JRXML Jasper (*.jasper) adlı ikili bir nesneye derlenir. Verileri raporlara doldurmak—bu adımda, uygulamadan alınan veriler derlenmiş rapora doldurulur. net.sf.jasperreports.engine.JasperFillManager sınıfı, rapor verilerini doldurmak için gerekli fonksiyonları sağlar. Sistem, raporları yazdırmak veya dışa aktarmak için kullanılabilecek bir Jasper baskı dosyası (*.jrprint) oluşturur. Export Report - Bu adımda, önceki adımda oluşturulan Jasper baskı dosyasını herhangi bir formata aktarmak için JasperExportManager kullanabiliriz.
API sınıfı
JRXML rapor tasarımlarını derleme, rapor doldurma, rapor yazdırma, PDF, HTML ve XML dosyaları olarak dışa aktarma için birçok sınıf mevcuttur.
(net.sf.jasperreports.engine) paketinde hangi içerikler yer alıyor?
· JasperCompileManager — JRXML rapor şablonlarını derlemek için kullanılır. · JasperFillManager — Veri kaynaklarından alınan verilerle raporları doldurmak için kullanılır. · JasperPrintManager — JasperReports kütüphanesi tarafından oluşturulan belgeleri yazdırmak için kullanılır. · JasperExportManager — Rapor doldurma sürecinde oluşturulan belgelerin PDF, HTML veya XML içeriğini elde etmek için kullanılır.
Veri kaynağı
Veri kaynağı, yapılandırılmış bir veri konteyneridir. Raporlar oluşturulurken, JasperReports motoru veri kaynağından veri alır. Veriler veritabanlarından, XML dosyalarından, nesne dizilerinden ve nesne koleksiyonlarından elde edilebilir.
Aşağıdaki tablo, veri kaynaklarını ve uygulama sınıflarını özetlemektedir—
Jasper Reports veri öğeleri
Parametreler: $P $P{parameter_name)
· Raporda bireysel değerler için kullanılır.
· Veri kaynağından iletilamayan veriler parametreler aracılığıyla da iletilebilir. Örneğin, rapor başlıkları ve diğer veriler.
· JasperReports şablonları veya JRXML şablonları sıfır veya daha fazla parametre öğesine sahip olabilir.
Saha: $F $F{field_name}
· Rapor alanları, veri kaynakları ile rapor şablonları arasındaki veri eşlemesini temsil eden öğelerdir.
Her yinelemede değerleri değiştirmek için kullanılır, yani bir tablodaki veri satırını temsil etmek için kullanılır.
Değişken: $V $V{variable_name}
· Jasper raporları tarafından sağlanmıştır.
Ayrıca Jasper raporları üzerinde hesaplamalar yapmak için de kullanılır, örneğin aritmetik işlemler.
Herhangi bir Jasper raporu oluşturma adımları
1. Şablonu jrxml dosyasını Spring Resources klasörüne kopyalayarak tasarlayın
2. Gerekli parametreleri oluşturun
3. Veri kaynakları oluşturun
4. JasperReport nesnesinde saklanan .jrmxl şablonunu derleyin
5. Raporu doldurun—derlenmiş .jrxml nesneleri, parametreleri ve veri kaynaklarını geçirerek.
6. Dışa Aktarma Raporları — JasperExportManager Kullanın
SpringBoot örneği — JasperReports
Maven bağımlılıklarını ekleyin.
Kontrolör
Hizmet
emp24.jrxml
Koştuktan sonra oluşturulan raporu alacaksınız.http://localhost:8990/empapp/api/v1/reports/jasper/emp24?fileType=doc
JasperReports — Alt rapor temsili örneği
Alt raporlar için, mevcut emp.jrxml şablonunu açın ve alt rapor olarak user.jrxml başka bir şablon ekleyin.
Ana rapora çocuk raporu eklemek için ana raporu açın, panelden çocuk raporuna tıklayın, özet alanına sürükledin ve aşağıdaki detayları ekleyin.
"Sadece çocuk rapor öğeleri oluştur" seçeneğini seçin, ardından "Sonraki"ye tıklayın. Hiçbir veritabanı bağlantısı kullanma, sonra bir sonraki adıma geç ve bitir. Sağ tıklayın > Hizala> Genişlik/Tablo Formatına Uyarla
User.jrxml alt raporları için, ana raporun alt rapor verilerini parametre olarak ileteceğiz. Bunu başarmak için ......
ana raporda olduğu gibi subReport gibi yeni bir parametre ve JasperReport veri tipi oluşturun subDatasource için yeni parametreler oluşturun ve veri tipi JRBeanCollectionDataSource Yeni parametreler oluşturun Alt Parametreler ve veri tipi Harita
Şimdi alt rapor özelliklerini açın
$P{REPORT_CONNECTION} Eleme İfade: $P{subReport} Parametre haritalama ifadesi: $P{subParameters} Veri kaynağı ifadesi: $P{subReportDataSource}
Şimdi, parametre olarak aktardığımız tüm veriler alt rapora doldurulur.
Örnek kod
empSubreport.jrxml
Onu test et:http://localhost:8990/empapp/api/v1/reports/jasper/subreport?fileType=pdf
Referans:Bağlantı girişi görünür. Özgün:Bağlantı girişi görünür. |