JasperReports Eğitimi: Jasper Report Ne İşe Yarar? Java?
⚡ Akıllı Özet
JasperReports için Java Jaspersoft, uygulama verilerini piksel piksel kusursuz belgelere dönüştüren açık kaynaklı bir raporlama motorudur. Bu makale, raporlama yaşam döngüsünü, Jaspersoft Studio kurulumunu, rapor şablonu oluşturmayı, bant yapısını, Pentaho karşılaştırmasını ve ekiplerin karşılaştığı pratik sınırlamaları açıklamaktadır.

JasperReports ne işe yarar? Java?
Jasper Raporları için açık kaynaklı bir raporlama aracıdır. Java Bu, uygulamaların raporlanması için kullanılan bir araçtır. Bu raporlama aracı, ekrana, yazıcıya veya HTML, PDF, XLS, RTF, CSV, XML, ODT ve TXT gibi çeşitli dosya türlerine zengin içerik yazmaya yardımcı olur. JasperReports ayrıca şu amaçlarla da kullanılabilir: Javagibi etkinleştirilmiş uygulamalar Java Dinamik içerik oluşturmak için EE veya web uygulamaları.
Çoğu tartışmada üç ürün adı birlikte geçiyor ve bunları baştan ayırmak, bu sayfada daha sonra yaşanacak karışıklığı önlüyor.
| İsim | Ne olduğunu | Kimler Kullanıyor? |
|---|---|---|
| JasperReports Kitaplığı | MKS Java Raporları derleyen, dolduran ve dışa aktaran kütüphane. | Java Geliştiricilerin raporları bir uygulamaya entegre etmesi |
| Jaspersoft Stüdyo | MKS Eclipse JRXML dosyaları üreten, görsel tasarım tabanlı bir program. | Rapor tasarımcıları bina düzenleri oluşturuyor. |
| JasperReports Sunucusu | Raporları depolayan, planlayan ve sunan bağımsız bir sunucu. | Ekipler, raporları iş kullanıcılarına dağıtıyor. |
Bu sayfa, ilk raporu tasarlamak ve çalıştırmak için gereken tek şey olan kütüphane ve Jaspersoft Studio'ya odaklanmaktadır. JasperReports Server artık topluluk sürümü olarak indirilmediği için, topluluk sürümünün yalnızca bu iki bileşeni kapsadığını unutmayın.
Jasper Raporlarını neden kullanmalıyım?
Jasper raporlama aracını kullanmanın birçok nedeni vardır:
- Rapor oluşturma performansı ve kullanıcılara sunulmasını sağlar.
- Verilerinizi metinsel veya grafiksel biçimde temsil etmenize yardımcı olur.
- Raporlamanın derlenmesi ve yürütülmesi için bağımsız ve yerleşik bir raporlama sunucusudur.
- Depodaki tüm raporlara rol tabanlı erişim kontrolü sağlar.
- Kurum içi kimlik doğrulama sistemleriyle entegrasyon için Spring Security çerçevesi mevcuttur.
- Güvenli, planlı ve otomatik olarak sunulan etkileşimli raporlama motoru sunar.
- Raporları içine gömebilirsiniz Java veya olmayanJava uygulamaları.
- Çeşitli rapor formatları dışa aktarılabilir.
- Birincil görüntünün üzerine yerleştirilen filigranlar oluşturabilir.
- Tam bir set sunuyor SABUN, REST ve Web Hizmetleri.
- Birden fazla veri kaynağından tek rapor verilerini kullanmanıza olanak tanır.
Kütüphane LGPL lisansı altında yayınlandığı için, kullanıcı başına ücret ödemeden ticari ürünlerin içine dahil edilebiliyor; bu da birçok kişinin kütüphaneyi tercih etmesinin nedenlerinden biri. Java Ekipler, tescilli raporlama motorlarına kıyasla bunu tercih ediyor.
Jasper Raporlarının Özellikleri
Şimdi JasperReports'un özelliklerini ele alacağız.
İşte Jasper Reports aracının önemli özellikleri:
- Bantlar, sütunlar ve serbest biçimli bölgeler genelinde esnek rapor düzeni sunar.
- Geliştiriciler, aşağıdakiler de dahil olmak üzere çeşitli yollarla veri sağlayabilirler. JavaBeans koleksiyonları, SQL sorguları ve XML belgeleri.
- Alt raporlar ve veri bağdaştırıcıları aracılığıyla birden fazla veri kaynağı tek bir raporda birleştirilebilir.
- Filigranlar ana görselin üzerine de uygulanabilir.
- Ana düzenin içine yerleştirilmiş alt raporlar oluşturabilirsiniz.
- Raporları aşağıdaki gibi çeşitli formatlarda dışa aktarmanıza yardımcı olur: PDFHTML, RTF ve Microsoft Excel dosyaları.
- Bu motor, rapor tanımlarına çubuk grafik, pasta grafik, çizgi grafik ve zaman serisi grafik gibi grafik türlerinin eklenmesine olanak tanır.
- Rapor ifadeleri şu şekilde yazılabilir: Java, Groovyya da JavaSenaryo.
Bu yetenekler, bir sonraki bölümde aşama aşama açıklanan sabit bir işlem dizisi aracılığıyla ortaya çıkar.
JasperReports'un Yaşam Döngüsü
Şimdi JasperReports'un yaşam döngüsünü öğreneceğiz.
Aşağıda Jasper Reports'un yaşam döngüsünün genel akışı verilmiştir:
Yukarıdaki diyagram dört aşamayı sırasıyla göstermektedir. Her aşama, bir sonraki aşamanın girdisi haline gelen bir dosya üretir; bu nedenle sıra asla tersine çevrilemez.
| Aşama | Giriş | Çıktı | Dosya uzantısı |
|---|---|---|---|
| Tasarımı | Yerleşim kararları | Rapor şablonu | .jrxml |
| Derleme | .jrxml dosyası | Derlenmiş ikili şablon | .jasper |
| yürütme | .jasper dosyası artı veri | Doldurulmuş rapor | .jrprint |
| İhracat | .jrprint dosyası | Son belge | .pdf, .html, .xls ve diğerleri |
Raporun tasarlanması
Bu, JRXML dosyasını oluşturacağımız ilk adım olacak. Bu, rapor düzenini tanımlayan basit bir XML belgesidir. Bu dosyayı herhangi bir metin düzenleyici veya rapor tasarımcısı kullanarak geliştirebilirsiniz.
Ancak, rapor tasarımcısını kullanıyorsanız, raporun düzenini görselleştirebiliriz ve JRXML'nin gerçek yapısı göz ardı edilebilir.
Raporun derlenmesi
Bu yaşam döngüsü aşamasında, ilk aşamada oluşturulan JRXML derlenir ve Jasper dosyası (jasper uzantılı dosya) adı verilen ikili bir nesne oluşturulur.
Bu derleme, yürütme sırasında daha iyi performans elde etmek için yapılır. Raporları çalıştırmak için oluşturulan bu Jasper dosyalarının uygulamanızla birlikte gönderilmesi gerekir.
Raporun yürütülmesi
Bu aşamada uygulamadan gelen veriler toplanır ve derlenmiş rapor formatında doldurulur. Raporlardaki verileri doldurmaya yönelik işlevler sunan net.sf.jasperreports.engine.JasperFillManager adında bir sınıf bulunmaktadır.
Çıktı, raporu yazdırmak veya dışa aktarmak için kullanılabilen bir Jasper yazdırma dosyasına (jrprint uzantılı dosya) kaydedilecektir.
Raporu istenilen formata dışa aktarma
Bu son aşamada, daha önce oluşturduğunuz Jasper yazdırma dosyasını JasperExportManager sınıfını kullanarak herhangi bir formata aktarmanız gerekir. Jasper birden fazla dışa aktarma biçimi sunduğundan, verilerin çeşitli temsillerini oluşturmak için aynı girişi kullanabiliriz.
Jasper Reports Nasıl Kurulur – Ortam Kurulumu
Şimdi, JasperReports ortam kurulumunun adım adım sürecini öğrenelim. Aşağıdaki ekran görüntüleri 6.9 yükleyici ile alınmıştır. Mevcut topluluk sürümü 23 Nisan 2024'te yayınlanan 6.21.3'tür ve dosya adındaki sürüm numarası farklı olsa da ekranların sırası değişmemiştir.
) 1 Adım Jasper raporları topluluk sürümünü indirin
Buna git Link Jasper Reports Community sürümünü yüklemek için "Şimdi İndir" seçeneğine tıklayın.
) 2 Adım Jaspersoft Studio CE'yi seçin
Topluluk sürümlerinden Jaspersoft Studio CE'yi seçin.
) 3 Adım Jaspersoft Studio'yu indirin
Buna git Link İndir düğmesine tıklayın ve ardından işletim sisteminize uygun indirilen yükleyici dosyasını açın.
) 4 Adım "Kabul et" düğmesine tıklayın.
Aşağıdaki ekran görünecektir. "Kabul ediyorum" düğmesini seçin.
) 5 Adım Konum seç
Kurulum konumunuzu seçin ve İleri düğmesine tıklayın.
) 6 Adım İlerleme şu anda devam ediyor
Bir sonraki ekranda ilerlemeyi göreceksiniz.
) 7 Adım Bitir düğmesine tıklayın
Bir sonraki ekranda bitir butonuna tıklayın.
) 8 Adım İlerleme tamamlandı
Pencerenizde aşağıdaki ekran görünecektir.
) 9 Adım Kayıt Ol
Ardından, "Başla" seçeneğine tıklayın.
) 10 Adım Jasper Reports stüdyosuyla çalışmaya başlayın
Aşağıdaki ekran görünecek ve Jasper Reports Studio ile çalışmaya başlayabilirsiniz.
💡 İpucu: Jaspersoft Studio bir Eclipse tabanlı uygulama ve uyumlu bir şeye ihtiyaç duyuyor. Java Makinede JDK çalışma ortamının mevcut olduğundan emin olun. Kurulum programı başlamayı reddederse, yeniden yüklemeden önce kurulu JDK sürümünü doğrulayın.
Rapor Şablonu Örneği Oluşturma
Şimdi JasperReports'ta rapor şablonu oluşturmayı öğrenelim.
JasperReports'ta kullanılan rapor şablonu dosyası, jrxml uzantısına sahip basit bir XML dosyasıdır. Bu dosya, kök öğesi olarak jasperReport etiketini içerir. JasperReports çerçevesi, farklı veri kaynağı türlerini işleyebilir.
Aşağıdaki adımlar kullanılarak bir rapor şablonu tasarlanır ve oluşturulur.
) 1 Adım JRXML dosyasını Jaspersoft Studio'da oluşturma.
- Dosya seçeneğine gidin.
- Yeni alt menüsünü seçin.
- Jasper Raporu seçeneğine tıklayın.
) 2 Adım İstenilen şablonun seçilmesi.
- Şablonunuzu seçin, örneğin kiraz.
- “İleri” düğmesine tıklayın.
) 3 Adım Bir ana klasör seçme.
- MyReports klasörünü seçin.
- Dosya adını girin; örneğin, “Cherry Report.”
- “İleri” düğmesine tıklayın.
) 4 Adım Veri Kaynağı penceresinde, yeni bir veri bağdaştırıcısı oluşturmak için "Yeni" düğmesine tıklayın.
) 5 Adım Bir veri bağdaştırıcısının seçilmesi.
- Liste kutusundan veri bağdaştırıcısını seçin. Örneğin, "Veri koleksiyonu". JavaFasulye."
- “İleri” düğmesine tıklayın.
) 6 Adım Veri adaptörü ayrıntılarını girme ve fabrika sınıfını seçme.
- Bağdaştırıcınız için bir ad girin.
- “…” düğmesine tıklayarak fabrika sınıfını seçin.
) 7 Adım Önek veya kalıbı girme.
- Ad önekini veya modelini girin.
- Eşleşen öğeleri tıklayın.
- "Tamam" düğmesine tıklayın.
) 8 Adım Fabrika sınıfını tanımlama ve jar dosyalarının yolunu ekleme.
- Fabrika sınıfındaki statik yöntemin adını girin. Bu Jasper rapor örneğinde bu createBeanCollection'dır.
- Eğer JavaBeans tanımında alan açıklamaları bulunur ve bunları Jaspersoft Studio'da isim olarak kullanmak istiyorsanız, "alan açıklamasını kullan" onay kutusunu işaretleyin.
- Jar dosyalarınıza bir yol ekleyin.
- “Bitir” düğmesine tıklayın.
) 9 Adım “İleri” düğmesine tıklayın.
) 10 Adım Tebrikler! Gerekli tüm rapor oluşturma bilgilerini başarıyla eklediniz. "Bitir" düğmesine tıklayın.
Rapor, aşağıdaki ekranda gösterildiği gibi oluşturulacaktır.
Yukarıdaki dosyanın JasperReport ikili formatına derlenmesi gerekmektedir ve bu formata jasper dosyası denir.
JasperReports kütüphanesinin bir parçası olan net.sf.jasperreports.engine.design.JRCompiler arayüzü, bu rapor şablon dosyasının derlenmesinde önemli bir rol oynar.
Bu arayüzün uygulanması şu şekilde yazılabilir: Java, JavaSenaryo, Groovy, veya başka herhangi bir kodlama dili.
JRXML dosyasını aşağıdaki iki yöntemle derleyebilirsiniz:
- Programatik derleme Java kodu.
- Derleme, bir yöntem kullanılarak yapılır. Apaçi Karınca görev.
Aşağıdaki kod parçası, şablonu derleyen bir satır ve şablonu dolduran ikinci bir satır içeren programatik yolu göstermektedir. JavaFasulye koleksiyonu.
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"); } }
Çıktı:
Report exported successfully
Farklı Not Aralığı Seviyelerini Anlamak
JasperReports düzeni, bant adı verilen yatay bölümlere ayrılmıştır. Her bandın sabit bir yazdırma kuralı vardır ve bu kuralları anlamak, tasarımcının bir değerin bitmiş belgede tam olarak nerede görüneceğini kontrol etmesini sağlar.
Aşağıda, çoğu ticari rapor oluşturma aracının benimsediği standart rapor aralıkları yer almaktadır.
- Başlık
- sayfa başlığı
- Sütun başlığı
- Detay
- Sütun altbilgisi
- Sayfa altbilgisi
- Son sayfa altbilgisi
- ÖZET
- Grup başlığı
- Grup altbilgisi
- Olayın Arka Planı
- Resim verileri
Şimdi her bir raporlama aralığını ayrıntılı olarak inceleyelim.
Başlık
Bu bant raporun başında gösterilir. Özelliği ayarlayarak ayrı bir ilk sayfaya yerleştirilebilir. isTitleNewPage="true".
Sayfa Başlığı
Sayfa başlığı bandı her sayfanın başında gösterilir. Başlık bandı kullanılıyorsa ilk sayfayı, özet bandı ayarıyla kullanılıyorsa son sayfayı hariç tutar. isSummaryWithPageHeaderAndFooter="false".
Sütun Başlığı
Sütun başlıkları her sayfada detay bandının önünde görünür.
Detay
Ayrıntı bölümü, sağlanan veri kaynağındaki her kayıt için tekrarlanır. Ayrıca birden fazla ayrıntı bandına (1, 2, vb.) sahip olmak da mümkündür.
Sütun Altbilgisi
Bu bölüm, detay bandının bulunduğu her sayfada detay bandının altında görünür. Varsayılan ayar sayfanın sonudur, ancak bu, özniteliği ayarlayarak son detay bandının altına yerleştirilecek şekilde değiştirilebilir. isFloatColumnFooter="true".
Sayfa altbilgisi
Bu bölüm, özet bölümü, başlık bölümü ve son özet dışı bölüm hariç, her sayfanın sonunda görüntülenecektir.
Son Sayfa Alt Bilgisi
Bu bölüm, özet bandı verilmediğinde, normal sayfa altbilgisinin yerine son sayfada görünür.
ÖZET
Özet bölümü yalnızca raporun sonunda, yeni bir sayfada şu durumlarda görünür: isSummaryNewPage="true" ayarlandığında ve sayfa başlığı ve altbilgisiyle birlikte isSummaryWithPageHeaderAndFooter="true" ayarlanır.
Grup Başlığı
Bu bölüm yalnızca tanımlandığında, grup ifadesi her değiştiğinde ve detay bandından önce görünür.
Grup Altbilgisi
Bu bölüm yalnızca bir grup tanımlanmışsa, grup ifadesi her değiştiğinde ve detay bandından sonra görüntülenir.
Olayın Arka Planı
Bu, diğer tüm haber bantlarının arka planı olarak tüm sayfalarda görüntülenir.
Veri yok
Bu bant, veri kaynağı belirtilmediğinde veya veri kaynağı boş olduğunda görünecektir. whenNoDataType="NoDataSection" ayarlanır.
Jasper, Pentaho'ya Karşı
Şimdi Jasper ve Pentaho arasındaki farkı öğreneceğiz.
İşte Jasper ve Pentaho arasındaki başlıca farklar:
| Parametreler | Jasper | pentaho |
|---|---|---|
| Raporlar | Jasper, raporları tasarlamak için Jaspersoft Studio'yu kullanıyor. | Pentaho Rapor Tasarımcısını kullanır. |
| ETL desteği | Jaspersoft, ETL işlemleri için Talend Open Studio sürümünü kullanmaktadır. | Varsayılan olarak Pentaho Veri Entegratörünü kullanır ETL aracı. |
| Pano | Kontrol paneli işlevi yalnızca Jaspersoft'un Kurumsal sürümünde mevcuttur. | Pentaho, kontrol panellerinde çok çeşitli özellikler sunmaktadır. |
| Mobil İş Zekası | Jaspersoft'un mobil iş zekası desteği daha iyi. | Pentaho, mobil iş zekası deneyimini geliştirmek için üçüncü taraf bir araca güvenmek zorunda. |
| Dökümanlar | Daha iyi pazarlama, siteler ve belgeler. | Dokümantasyon desteği zayıf. |
| En iyi özelliği | İhtiyacınız olanı araştırmak ve bulmak daha kolay. | Veri madenciliği ve iPhone entegrasyonu sunar. |
| ücretli sürüm | Ücretli sürüm aşağıdaki gibi özellikler sunar: özel amaçlı sorgu Web arayüzü ve kontrol paneli oluşturma web arayüzü. | LDAP entegrasyonu, SSO ve denetim gibi özellikler sunar. |
Takımlar zaten yatırım yapmış durumda. Java Genellikle teknoloji odaklı çalışanlar Jasper'ı tercih ederken, raporlamanın yanı sıra yoğun veri entegrasyonuna ihtiyaç duyan ekipler genellikle başka bir yöntemi seçer. pentaho.
JasperReports oluşturulurken karşılaşılan zorluklar
Jasper Reports oluştururken karşılaşabileceğiniz bazı zorluklar şunlardır:
- Temel değişiklikler – iş kuralları değiştiğinde veya geliştirildiğinde, raporun temel mantığının da değiştirilmesi gerekir.
- Karmaşık raporlar – alt raporlar ve çapraz tablo raporları iyi örneklerdir.
- Grafik raporları veya görsel grafikler; örneğin grafik, XY çizgisi, pasta grafiği, çubuk grafik, zaman serisi grafiği ve ölçüm grafiği.
Jasper Raporlarını kullanmanın dezavantajları
İşte Jasper Reports kullanmanın dezavantajları.
- Paket içeriğinde değişiklik yapmaya ve özellikleri kaldırmaya başladığınızda, varsayılan paket ayarlarına geri dönmek çok zordur.
- Çok katı bir yapısı var ve satırları düzenlemek ve çapraz tablolar oluşturmak zorlu bir iş.
- Gruplandırılmış bir rapor için ara toplamlar belirlemek gibi bazı yaygın görevler, diğer rapor tasarım araçlarında daha kolaydır.
- Jasper, raporları çalıştırmadan önce derlemenizi gerektirir. Bu, rapor geliştiricilerinin raporun tamamına sahip olması gerektiği anlamına gelir. Java SDK yüklü.
- Bazen raporu düzenlediğinizde web'de görüntülenen önizlemenin aynısı görülmez.






















