Rasa ngantuk abis begadang semalaman di pura masih tersisa sampai
hari ini. Kebetulan selama liburan ini, ada serangkaian upacara
piodalan di pura leluhur keluarga saya. Tadi malam ketika saya masih di pura, ada seorang teman yang menanyakan tentang “
Bagaimana sih caranya melakukan export data di mysql ke dalam bentuk excell dengan PHP…???”
via chat dari HaPe saya. Hmm,,,cukup mudah sebenarnya untuk melakukan
export data ke dalam format excell/spreadsheet dengan PHP. Tinggal
menambahkan header aplikasi excell/spreadsheet, jadi sudah sebuah source
kode program untuk meng-export data. “Masih belum paham nie, bisa
berikan contohnya gak..???”. Nah, pada postingan kali ini saya akan
menjelaskan sedikit trik untuk export data di atas. Saya gunakan studi
kasus nilai mahasiswa, karena hanya tabel nilai yang terdapat di OS
Linux saya ini
(males pindah ke Windows).
1. Buat dulu database dan beserta tabel-tabel yang akan kita gunakan
pada studi kasus kali ini. Untuk isinya, silahkan diisi sendiri, tapi
usahakan diisikan value yang sinkron, karena kita akan melakukan sedikit
normalisasi pada tabel-tabel tersebut :
Cek di dalam file .zip yang bisa di download pada link yang sudah saya sediakan di bawah/akhir postingan ini.
2. Buat sebuah file dengan nama index.php yang berisi sebuah
form dengan menu dropdown. Skenario-nya, kita akan menampilkan
nama-nama mahasiswa dan ketika di klik tombol Export Data maka otomatis
sebuah file dengan ekstensi .xls akan muncul dan siap untuk di download :
2 | <form action= "ubah_format.php" method= "POST" ><select name= "nim" > <!--?php <br ?--> include ( 'konfig.php' );</select> |
3 | <select name= "nim" > $q = mysql_query( "SELECT * FROM pw_mst_mahasiswa" );</select> |
4 | <select name= "nim" > while ( $data = mysql_fetch_array( $q ))</select> |
5 | <select name= "nim" > {</select> |
6 | <select name= "nim" > echo "<option value=" ". $data [ ">" . $data [ 'nama_mhs' ]. "</option>" ;</select> |
7 | <select name= "nim" > }</select> |
8 | <select name= "nim" > ?></select> |
10 | <input type= "submit" value= "Export Data" /></form> |
3. Sekarang kita lanjut ke pembuatan file ubah_format.php
yang berisi kode untuk mengubah data-data yang diambil dari database ke
dalam format excell/spreadsheet. Seperti yang sudah saya jelaskan di
atas, kita cukup menambahkan header aplikasi excell/spreadsheet di awal
baris kode program :
1 | header( "Pragma: public" ); |
3 | header( "Cache-Control: must-revalidate, post-check=0,pre-check=0" ); |
4 | header( "Content-Type: application/force-download" ); |
5 | header( "Content-Type: application/octet-stream" ); |
6 | header( "Content-Type: application/download" ); |
7 | header( "Content-Disposition: attachment;filename=nilai.xls" ); |
8 | header( "Content-Transfer-Encoding: binary " ); |
Dan kode lengkapnya, kira-kira seperti di bawah ini :
1 | <!--?php $nama_file = $_POST [ 'nim' ]. "_laporan_nilai.xls" ; header( "Pragma: public" ); header( "Expires: 0" ); header( "Cache-Control: must-revalidate, post-check=0,pre-check=0" ); header( "Content-Type: application/force-download" ); header( "Content-Type: application/octet-stream" ); header( "Content-Type: application/download" ); header( "Content-Disposition: attachment;filename=" . $nama_file . "" ); header( "Content-Transfer-Encoding: binary " ); ?--></pre> |
2 | No.NIMNama MahasiswaKode MKMata KuliahNama DosenNilai include ( 'konfig.php' ); $q = mysql_query( "SELECT
* FROM eva_tr_nilai left join (ja_mst_dosen,ja_mst_mk,pw_mst_mahasiswa)
on eva_tr_nilai.kode_dosen=ja_mst_dosen.kode_dosen and
eva_tr_nilai.kode_mk=ja_mst_mk.kode_mk and
eva_tr_nilai.nim=pw_mst_mahasiswa.nim where
eva_tr_nilai.nim='$_POST[nim]'" ); $no = 1; while ( $data = mysql_fetch_array( $q )) { echo "" ; echo "" ; echo "" ; echo "" ; echo "" ; echo "" ; echo "" ; $no ++; }?> |
3 | <table><!--?php <br ?--> |
7 | <td> ".$data['nim']." </td> |
8 | <td> ".$data['nama_mhs']." </td> |
9 | <td> ".$data['kode_mk']." </td> |
10 | <td> ".$data['nama_mk']." </td> |
11 | <td> ".$data['nama_dosen']." </td> |
12 | <td> ".$data['grade']." </td> |
4. Pada kode di atas, saya tempatkan data-data yang akan ditampilkan
dalam tag table. Kenapa??? Yaw karena seperti kita ketahui, karena di
dalam file excell/spreadsheet data-data tersebut ditampilkan dalam
format tabel. Sehingga ketika dibuka nantinya, maka data-data tersebut
akan tersusun sesuai dengan format tabel yang sudah kita atur di dalam
file PHP.
Gampang kan implementasinya??? Nah, sekian dulu postingan saya tentang Export Data Ke Format Excell/Spreadsheet Dengan PHP. Di
postingan selanjutnya, saya akan mencoba menguraikan tutorial serupa.
Namun pada aplikasi web berbasis CodeIgniter. Semoga bisa bermanfaat
untuk rekan-rekan yang kebetulan sedang dipusingkan dengan export data
ke format Excell dengan PHP
Happy Blogging and Keep Coding
Cheerrrsss….!!!!
Gunakan bahasa yang baik dan sopan
Berkomentarlah sesuai artikel yang di bahas
Berkomentar dengan link aktif akan di hapus
Apabila artikel ini bermanfaat, share ke jejaring sosial.