PHP adalah sebuah server side scripting yang populer.
Banyak orang menggunakan PHP karena relatif cepat untuk memperlajarinya.
Kepopuleran PHP mungkin karena dalam menggunakan PHP tidak perlu bayar license alias gratis.
HyperText Markup Language (HTML) adalah sebuah bahasa markup standar yang digunakan untuk membuat sebuah halaman web.
Microsoft Excel atau Microsoft Office Excel adalah sebuah aplikasi populer spreadsheet yang dibuat dan didistribusikan oleh Microsoft Corporation untuk sistem operasi Microsoft Windows dan Mac OS.
Dokumen Microsoft Excel pada sebuah aplikasi biasanya menjadi sebuah standar export data favorit yang diinginkan oleh pengguna aplikasi.
Pada posting ini akan dijelaskan cara sederhana membuat export data ke Microsoft Excel dengan menggunakan php + html.
1. Sebagai contoh buatlah sebuah file bernama nilai.php, pada file tersebut berisikan daftar nilai mahasiswa.
<?php header("Cache-Control: no-cache, no-store, must-revalidate"); header("Content-Type: application/vnd.ms-excel"); header("Content-Disposition: attachment; filename=nilai.xls"); ?> <table> <tr> <th>NO</th> <th>NPM</th> <th>NAMA</th> <th>KEHADIRAN</th> <th>UTS</th> <th>UAS</th> <th>NILAI MUTU</th> </tr> <tr> <td align="center">1</td> <td>TI1091001</td> <td>DENDIE SANJAYA</td> <td align="center">100%</td> <td align="center">90</td> <td align="center">95</td> <td align="center">A</td> </tr> <tr> <td align="center">2</td> <td>TI1091002</td> <td>AINUR ROFIQ</td> <td align="center">85%</td> <td align="center">86</td> <td align="center">90</td> <td align="center">A</td> </tr> <tr> <td align="center">3</td> <td>TI1091003</td> <td>RAHMAT</td> <td align="center">70%</td> <td align="center">70</td> <td align="center">75</td> <td align="center">B</td> </tr> </table> <?php exit() ?>
Bagian yang terpenting pada script diatas adalah sebagai berikut.
header("Cache-Control: no-cache, no-store, must-revalidate"); header("Content-Type: application/vnd.ms-excel"); header("Content-Disposition: attachment; filename=nilai.xls");
Kode program diatas adalah bagian utama yang memberikan informasi pada komputer client bawah file yang didowload adalah file Microsoft Excel.
Secara konsep PHP tidak melakukan konversi HTML menjadi Excel, tetapi hanya memberikan informasi jenis file yang didownload, dan yang melakukan konversi data dari HTML menjadi spreedsheet adalah Microsoft Excel.
Baris kode filename=nilai.xls adalah perintah untuk memberikan nama dari file Excel yang didownload.
Sedangkan perintah yang memberitahu eksekusi program selesai dan segera menyuruh menampilnkan download file adalah baris yang ditunjukan pada baris dibawah ini.
exit()
2. Akses file nilai.php pada web-brower, sebagai contoh http://127.0.0.1./nilai.php maka akan muncul tampilan seperti dibawah ini.
3. Setelah proses download selesai, dan file tersebut di download maka akan muncul konfirmasi Select Language.
4. Maka datanya akan muncul di Microsoft Excel seperti gambar dibawah ini.
kl dr db gmn mas??
ReplyDeleteThis comment has been removed by the author.
DeleteKalau Anda menggunakan MySQL dan PHP berikut ini cara mengambil data dari MySQL yang di sajikan dalam bentuk Table HTML -> http://www.anyexample.com/programming/php/php_mysql_example__display_table_as_html.xml
Deleteom mau tanya nih, itu kok tapi kalo di buka di mozilla nama filenya gak sesuai sama yg kita kasih ya? trus gak ada file extension .xlsnya, jadi dia kayak file biasa gak ada extensionnya, mohon pencerahannya om , thanks
ReplyDeleteSeharusnya ngak, karna contoh di posting ini saya menggunakan broswer mozila firefox.
DeleteKemungkinan terdapat kesalahan dalam menuliskan headernya.
em kalo mau di bikin excelnya cuma kolom tertentu aja gimana ya,terimakasih
ReplyDeleteSeperti belum bisa kalau mau menentukan kolom di excel secara spesifik.
Deletenah kalau kita ingin mengambil data txt file mau di konvert ke exelnya gmn om?
ReplyDeleteKalau datanya txt file harus dibaca lebih dahulu.
ReplyDeleteom ? diconvert ke excel, tapi pake tombol/button "Save to Excel" itu gmna ?
ReplyDeletekan yg itu mh hanya pas d.Reload doangan
This comment has been removed by the author.
DeleteKalau ingin berupa tombol maka tag HTML nya menjadi seperti ini.
Delete<button onclick="nilai.php">Save To Excel</button>
Bang kalo di hostingan ada muncul error seperti ini gmn yah bang ?
ReplyDeleteWarning: Cannot modify header information - headers already sent by (output started at /var/www/clients/client1/web7/web/iopac2013/admin/reg_1.php:2) in /var/www/clients/client1/web7/web/iopac2013/admin/reg_1.php on line 36
sy udh coba" setting pake .htaccess tp ga bisa aja, mohon pencerahan bang :D
Itu karena sudah ada data yang dikirimkan ke browser sebelum perihtah header, dan biasanya ada spasi kosong di atas baris perintah header.
DeleteSession nya gan kalo maksud agan di localhost Jalan Kemudian ketika du Upload ke Hosting errornya Seperti itu kemungkinan Perbedaan versi Php nya
ReplyDelete(kalo salah sorry Newbie juga)
Mau nanya... Ini gag perlu pakai library ya?
ReplyDeleteIya tidak perlu pake library, karen Microsfot Excel dapat membaca HTML.
DeleteJadi yang di perlukan dilakukan adalah manipulasi informasi header ketikan dilakukan download. Yaitu pada bagian
header("Content-Type: application/vnd.ms-excel");
kalau mau buat multiple sheet gmn ya bg ?
ReplyDeletesaya ini awam....penjelsan d atas tolong d perjwlas lagii....saya punta data html mau d congert ke exel.....rumus sql itu d pake pada saat apa dan bagaimana caraxxxx.....
ReplyDelete