Mengeksport data menjadikan xls, pdf, csv biasa disebut reporting merupakan task yang umum. Banyak developer menciptakan tools untuk memudahkannya. Yang biasa dipakai di php adalah php office, laravel excel, crystal report, dan kool report. Yang pernah saya coba adalah php office dan jasper report.
Untuk yang biasa menggunakan java, tools yang biasa digunakan adalah jasper report / i report. Banyak kelebihan jasper report dibanding reporting php pada umum nya (php office) :
- Designer drag and drop GUI
- Cocok untuk report yang format nya ribet
- Satu design untuk semua format (xls, csv, pdf, docx, dll)
- Cetak di kertas, terus kertas yg udah di cetak di print lagi
Library yang digunakan
Karena jasper merupakan aplikasi java, bisa di compile menjadi satu file binary jar (seperti exe). Ada developer yang membuat tools jasperstarter, yang berfungsi menggunakan jasper dari command line
Lalu ada developer yang membuat tools php jasper, yang merupakan wrapper jasper starter sehingga bisa dipanggil dari kode php dengan mudah
Kekurangan
- Terdapat beberapa error yang menurut saya agak sulit untuk menemukan solusinya di internet
- Harus ada java di sistem operasi, sehingga tidak bisa dipakai di shared hosting. serta menambah resource (untuk menjalankan jvm java)
- Agak sulit dibanding phpoffice
Error
Versi jasper engine harus sama dengan jasper report
Samapai saat ini versi jasper engine yang di support jasper starter adalah 6.4.0. Tidak perlu download ulang jasper studio karena bukan versi jasper studio yang di maksud tapi jasper xml dan engine nya.
Versi jdk harus 1.8 / jdk 8
Terdapat error aneh jika menggunakan jdk selain jdk 8.
Kalau menggunakan docker, anda tidak masalah. Kalau tidak, bisa juga kok menginstall 2 jdk dalam satu sistem.
Kesimpulan
Kalau kebutuhan tidak kompleks seperti hanya report excel/csv yang simpel lebih baik memakai report yang umum digunakan php seperti phpoffice.
Kalau bisa pake tools yang native php, pakai tools native php saja. Supaya tidak menambah banyak kemungkinan masalah/attack surface.
Link Download
PhpJasper : https://github.com/PHPJasper/phpjasper
Jasper studio : https://community.jaspersoft.com/project/jaspersoft-studio