Tutorial PHP : Export Data Ke Format Excell/Spreadsheet Dengan PHP

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 :

</pre>
<form action="ubah_format.php" method="POST"><select name="nim"> <!--?php <br ?--> include('konfig.php');</select>
<select name="nim"> $q = mysql_query("SELECT * FROM pw_mst_mahasiswa");</select>
<select name="nim"> while ($data = mysql_fetch_array($q))</select>
<select name="nim"> {</select>
<select name="nim"> echo "<option value="&quot;.$data[">".$data['nama_mhs']."</option>";</select>
<select name="nim"> }</select>
<select name="nim"> ?></select>

<input type="submit" value="Export Data" /></form>
<pre>

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 :

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=nilai.xls");
header("Content-Transfer-Encoding: binary ");

Dan kode lengkapnya, kira-kira seperti di bawah ini :

<!--?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>
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++; }?>
<table><!--?php <br ?-->
<tbody>
<tr>
<td>".$no."</td>
<td>".$data['nim']."</td>
<td>".$data['nama_mhs']."</td>
<td>".$data['kode_mk']."</td>
<td>".$data['nama_mk']."</td>
<td>".$data['nama_dosen']."</td>
<td>".$data['grade']."</td>
</tr>
</tbody>
</table>
<pre>

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ā€¦.!!!!

Download Aplikasi

5 comments

  1. aku dan kamu Reply

    mas mau minta tolong kalo export kaya gini tapi di code igniter bagaimana yah??
    terimakasih sebelumnya šŸ˜€

  2. Afi Reply

    mas bagaimana sih caranya buatlah laporan ke pdf.mohon pencerahan..maklum baru pemula

  3. tari Reply

    mas kalo di export ke multiple sheet gimana ya mas? mohon bantuanya mas udah coba sana sini masih tetep blm bisa

Leave a Reply

Your email address will not be published. Required fields are marked *