بِسْـــــــــمِ ﷲِالرَّحْمَنِ الرَّحِيم


Master kena buat laporan menggunakan Jasper Report yang bakal dieksport ke dalam fail berjenis CSV atau nama penuhnya comma separated value.

Memandangkan Master bukanlah pakar dalam membangunkan laporan menggunakan Jasper Report terpaksalah Google apa yang patut.

Berikut beberapa laman web yang telah dilawati dan mungkin perlu dirujuk pada masa hadapan

Reka laporan untuk eksport CSV

Laman ini memberikan beberapa panduan dalam rekaan laporan khusus untuk dieksport sebagai fail CSV.

https://community.jaspersoft.com/wiki/designing-reports-csv-export

 

Macam mana buang "page" dalam Jasper Report

Kalau dah fail berjenis CSV, kita tak perlukan page (mukasurat). Sebab CSV kan nanti boleh digunakan untuk import data, kalau ada page nanti tajuk setiap lajur (column) tu akan berulang. Jenuh nanti jadi data sampah.

Kena marah dengan bos atau pelanggan baru padan dengan muka.

Untuk yang ini, Master godek-godek dan alhamdulillah jumpa tetapan "Ignore Pagination" dalam senarai property untuk page.

 

Berapa saiz untuk laporan jenis CSV?

Ini pun memeningkan kepala otak Master memikirkannya. Setelah Master main langgar sahaja cuba compile dan preview laporan yang sesuku masak tu, kelihatan laporannya nampak okay sahaja walaupun Master guna tetapan saiz kertas A4 dan column dalam rekaan laporan tu terkeluar daripada kelebaran saiz kertas A4 tu.

Terasa bodoh sungguh.

 

Error apabila tiada rekod dijumpai

Pada masa pertama kali Master temui error NullPointerException semasa JasperFillManager.fillReport ni Master sangkakan layout atau design untuk report beliau telah rosak atau corrupted.

Tetapi setelah beberapa kali mencuba, Master perasan error ini hanya berlaku pada data tertentu sahaja. Tambah memeritkan lagi apabila error ini hanya berlaku dalam sistem yang dibangunkan Master sahaja tidak semasa preview di dalam Jaspersoft Studio.

Setelah diuji beberapa kali Master mula perasan bahawa error ini berlaku apabila tiada data ditemui, kerana filter yang digunakan. Master cuba tengok di properties untuk page ada satu property yang tetapkan apa akan berlaku apabila tiada data.

Master tetapkan agar laporan kosong dipaparkan dan hasilnya masalah ini tidak berlaku lagi.

[2020-07-29T10:51:30.976+0800] [glassfish 4.1] [WARNING] [] [javax.enterprise.web] [tid: _ThreadID=119 _ThreadName=http-listener-1(4)] [timeMillis: 1595991090976] [levelValue: 900] [[[2020-07-29T10:51:30.976+0800] [glassfish 4.1] [WARNING] [] [javax.enterprise.web] [tid: _ThreadID=119 _ThreadName=http-listener-1(4)] [timeMillis: 1595991090976] [levelValue: 900] [[  StandardWrapperValve[CsvReportProvider]: Servlet.service() for servlet CsvReportProvider threw exceptionjava.lang.NullPointerException at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:131) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:580) at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:396) at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:90) at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:286) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:759)

 


~~~20200726~~~
jika kiriman ini bermanfaat, tolong lawat iklan yang ada ya, tqvm