Dalam pembuatan sistem atau aplikasi berbasis web, seringkali diperlukan laporan (report) untuk berbagai keperluan. Pada umumnya, laporan dapat disajikan dalam 3 (tiga) bentuk yaitu laporan HTML, laporan bentuk PDF dan laporan Excel atau Spreadsheet. Bentuk laporan HTML merupakan bentuk laporan yang ditampilkan secara langsung di halaman web, dapat dibuat dengan perintah HTML dan CSS. Sedangkan laporan dalam bentuk PDF, pada umumnya disajikan sebagai format siap cetak atau siap disajikan. Tentang bagaimana membuat laporan PDF dengan PHP, silahkah baca tutorial mengenai Step by Step membuat laporan PDF. Show Dalam tutorial ini, akan dibahas bentuk laporan yang ketiga yaitu laporan Excel dengan PHP. Namun dalam bentuk yang sangat sederhana. Tutorial ini terbatas pada pembahasan untuk membuat dan menuliskan data ke dalam file Excel dengan format .xls yang kompatibel dengan Microsoft Excel, Open Office, Libre Office dan program pengolah spreadsheet lainnya. Masih dalam bentuk sederhana juga, tutorial ini akan diakhiri dengan contoh laporan (report) dimana data diambil dari database MySQL. Class untuk Membuat dan Menulis ke ExcelUntuk membuat maupun menulis file excel sebenarnya tidak terlalu sulit, karena sudah cukup banyak tersedia library atau class yang dibuat khusus untuk menangani membuat, menulis bahkan membaca file excel dan spreadsheet. Beberapa library tersebut akan diulas secara singkat di bagian akhir tutorial ini. Dalam tutorial ini, kita akan menggunakan satu class untuk membuat dan menulis file excel yang dibuat oleh Shararia Azam dan dipublikasikan di website http://www.shahariaazam.com. Class penanganan excel buatannya cukup singkat dan sederhana namun sudah sangat cukup untuk memberikan gambaran bagaimana penanganan file excel dengan menggunakan PHP.
Pada class sederhana di atas terdapat beberapa fungsi. Fungsi pertama adalah fungsi setHeader() di baris 13-23 yang berperan untuk mengatur header file excel, termasuk nama file excel. Parameter dari fungsi ini adalah nama file excel. Setelah fungsi setHeader(), terdapat fungsi BOF() dan EOF(), masing-masing pada baris 28-31 dan 36-39. Kedua fungsi tersebut akan sebagai penanda awal dan akhir file excel. Di dalamnya terdapat fungsi pack() yang merupakan fungsi PHP untuk menghasilkan nilai biner berdasarkan format tertentu. Format fungsi pack yang digunakan dalam class diatas antara lain “s” yang berarti signed-short dan “d” yang berarti double. Selanjutnya untuk mengisikan data ke dalam cell di excel, dibuatlah fungsi writeNumber() dan writeLabel(). Fungsi writeNumber() digunakan untuk menulis data bertipe numerik (angka) dan fungsi writeLabel() untuk menulis data bertipe string (text). Kedua fungsi tersebut memiliki tiga parameter yaitu $Row yang menunjukkan posisi baris cell, $Col yang menunjukkan posisi kolom cell dan $Value yang merupakan nilai nilai yang akan ditulis. Perlu diingat juga bahwa urutan baris dan kolom diawali dengan 0. Membuat dan Menulis ke ExcelProgram PHP berikut ini akan memberikan contoh sederhana dari penggunaan class Excel sederhana di atas. Program akan membuat file excel dengan nama “contoh-1.xls”. Pada cell yang pertama (Row=0, Col=0) diisi dengan text “NIM”, pada cell kedua (Row=0, Col=1) diisi dengan text “1111500200” dan seterusnya.
Jika program di atas dijalankan maka akan terbuat sebuah file excel dengan nama “contoh-1.xls” yang isinya kurang lebih sebagai berikut (dibuka dengan LibreOffice 3) : File Excel Hasil Contoh Program 1 Hasil dari program pertama di atas dapat dilihat secara langsung disini. Membuat Laporan Excel dari Database MySQLUntuk keperluan contoh kali ini, seperti biasanya, kita akan menggunakan tabel sederhana berisi data mahasiswa (nama tabel=mahasiswa) dengan struktur sebagai berikut:
Sebelum mencoba program di bawah ini, pastikan database dan tabel di atas sudah dibuat di MySQL. Jangan lupa isikan beberapa contoh data ke dalam tabel mahasiswa tersebut. Sementara itu, untuk menangani koneksi dan pengambilan data dari database MySQL, kita akan menggunakan fungsi mysqli yang merupakan fungsi mysql yang telah ditingkatkan kemampuan dan performanya. Kita akan menggunakan gaya penulisan mysqli dengan gaya object oriented. Saat ini, fungsi ini yang sangat disarankan untuk digunakan, dibanding menggunakan fungsi mysql_*. Berikut ini contoh program kedua untuk membuat laporan excel dari tabel mahasiswa yang sudah dibuat sebelumnya.
Berikut penjelasan singkat dari program PHP di atas:
Hasil dari program kedua di atas dapat dilihat secara langsung disini dimana kurang lebih hasil file excelnya sebagai berikut: Tampilan File Excel Hasil Program 2 Berbagai Library Penanganan Excel SpreadsheetSelain dengan class sederhana yang sudah dibahas di atas, terutama untuk keperluan yang lebih kompleks, kita dapat menggunakan berbagai library PHP. Library tersebut dapat ditemukan dengan mudah di internet. Berikut ini beberapa library beserta review singkatnya:
KesimpulanSecara sederhana, tutorial ini memberikan gambaran bagaimana membuat laporan dalam bentuk excel. Class yang digunakan masih dalam bentuk yang sederhana, namun sangat terbuka untuk dikembangkan lebih lanjut. Kita juga dapat menggunakan class atau library yang lebih kompleks seperti PHPExcel untuk keperluan penanganan file excel menggunakan PHP. Download Tutorial dan Source CodeReferensi Terkait
Semoga tutorial ini bermanfaat untuk kita semua dan berbagilah hal baik ke sebanyak-banyaknya orang maka kebahagiaan akan menghampiri Anda. Satu Karya untuk Indonesia! Achmad Solichin Please follow and like us:
|