Cara Mudah Membuat Export Excel Tanpa Plugin dengan PHP
Sudah lama tidak update lagi tutorial. Pada kesempatan kali ini saya akan coba sharing mengenai cara membuat fitur untuk export data dari database ke excel. Sebelumnya saya juga telah membuat tutorial Cara Membuat Import Data Excel dengan PHP dan MySQL. Mungkin sebagian dari kalian berpikir pasti harus menggunakan plugin atau librari. Pikiran tersebut salah besar, karena nyatanya ada sebuah kode / skrip untuk mengkonversi kode html menjadi Excel. Apakah ada kelemahannya? setau saya kelemahannya adalah :
– file yg dihasilkan adalah file HTML biasa yang diberi ektension .xls dan header sbg file excel , bukan file native ms excel.
– pada beberapa versi aplikasi utk membaca file excel bisa terjadi file tersebut tidak dapat dibuka degan semestinya (karena hanya casting file HTML biasa yang diganti extension nya menjadi .xls).
Terlepas dari semua itu, cara ini cukup ampuh bagi kalian yang dikejar sama deadline kerjaan haha. Saya juga telah membuat tutorial export excel dengan plugin PHPExcel, klik link berikut untuk lihat tutorialnya : Cara Membuat Export Data Dari Database ke Excel dengan PHPExcel.
Oke tanpa basa basi lagi, kita langsung terjun ke TKP.
DEMO
Sebelum masuk ke tutorialnya. Mungkin ada yang mau lihat demonya terlebih dahulu. Silahkan klik link berikut untuk melihat demonya : Lihat Demo.
STEP 1 – PERSIAPAN
Untuk tahap persiapan, cukup buat sebuah folder dengan nama export_php, lalu simpan pada folder xampp/htdocs/.
STEP 2 – DATABASE
Pada step ini, kita akan membuat databasenya. ikuti langkah-langkah berikut ini :
- Buat sebuah database dengan nama mynotescode.
- Buat sebuah tabel dengan nama siswa. Struktur tabelnya sebagai berikut :
CREATE TABLE IF NOT EXISTS `siswa` ( `nis` varchar(11) NOT NULL, `nama` varchar(50) NOT NULL, `jenis_kelamin` varchar(10) NOT NULL, `telp` varchar(15) NOT NULL, `alamat` text NOT NULL, PRIMARY KEY (`nis`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
STEP 3 – KONEKSI DATABASE
Pada step ini, kita akan membuat file php yang berfungsi untuk menghubungkan dengan database MySQL. Silahkan buat file koneksi.php, lalu simpan di folder xampp/htdocs/export_php/. Berikut ini kodenya :
<?php $host = 'localhost'; // Nama hostnya $username = 'root'; // Username $password = ''; // Password (Isi jika menggunakan password) $database = 'mynotescode'; // Nama databasenya // Koneksi ke MySQL dengan PDO $pdo = new PDO('mysql:host='.$host.';dbname='.$database, $username, $password); ?>
STEP 4 – VIEW DATA
Langkah selanjutnya adalah membuat halaman untuk view data siswa dari database. Buat sebuah file dengan nama index.php, lalu simpan di folder xampp/htdocs/export_php/. Berikut ini tampilan dan kodenya :
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Export Data ke Excell dengan PHP dan MySQL</title> </head> <body> <div style="background: whitesmoke;padding: 10px;"> <h1 style="margin-top: 0;">Export Data ke Excell dengan PHP dan MySQL</h1> <p> FOLLOW US ON <a target="_blank" style="background: #3b5998; padding: 0 5px; border-radius: 4px; color: #f7f7f7; text-decoration: none;" href="https://www.facebook.com/mynotescode">Facebook</a> <a target="_blank" style="background: #00aced; padding: 0 5px; border-radius: 4px; color: #ffffff; text-decoration: none;" href="https://twitter.com/code_notes">Twitter</a> <a target="_blank" style="background: #d34836; padding: 0 5px; border-radius: 4px; color: #ffffff; text-decoration: none;" href="https://plus.google.com/118319575543333993544">Google+</a> </p> </div> <h3>Data Siswa</h3> <a href="proses.php">Export ke Excell</a><br><br> <table border="1" cellpadding="5"> <tr> <th>No</th> <th>NIS</th> <th>Nama</th> <th>Jenis Kelamin</th> <th>Telepon</th> <th>Alamat</th> </tr> <?php // Load file koneksi.php include "koneksi.php"; // Buat query untuk menampilkan semua data siswa $sql = $pdo->prepare("SELECT * FROM siswa"); $sql->execute(); // Eksekusi querynya $no = 1; // Untuk penomoran tabel, di awal set dengan 1 while($data = $sql->fetch()){ // Ambil semua data dari hasil eksekusi $sql echo "<tr>"; echo "<td>".$no."</td>"; echo "<td>".$data['nis']."</td>"; echo "<td>".$data['nama']."</td>"; echo "<td>".$data['jenis_kelamin']."</td>"; echo "<td>".$data['telp']."</td>"; echo "<td>".$data['alamat']."</td>"; echo "</tr>"; $no++; // Tambah 1 setiap kali looping } ?> </table> </body> </html>
Saya akan coba jelaskan sedikit mengenai kode diatas.
include “koneksi.php”;
Kode tersebut berfungsi untuk me-load file koneksi.php.
$sql = $pdo->prepare(“SELECT * FROM siswa”);
$sql->execute();
Kode tersebut berfungsi untuk melakukan query ke database dan mengeksekusinya. Pada cotoh diatas, kita akan melakukan query untuk menampilkan semua data dari tabel siswa.
$data = $sql->fetch()
Kode tersebut berfungsi untuk mengambil semua data hasil query dan menampung data-data tersebut di dalam sebuah array lalu menyimpannya ke dalam variabel $data. Kode tersebut saya simpan di dalam sebuah kode while(….) yang berfungsi untuk melakukan proses perulangan sampai data terkahir dengan tujuan agar kita bisa menampilkan datanya satu per satu.
echo "<tr>"; echo "<td>".$no."</td>"; echo "<td>".$data['nis']."</td>"; echo "<td>".$data['nama']."</td>"; echo "<td>".$data['jenis_kelamin']."</td>"; echo "<td>".$data['telp']."</td>"; echo "<td>".$data['alamat']."</td>"; echo "</tr>";
Pada kode diatas terdapat variabel $data digunakan untuk mengambil isi dari field-field yang ada pada tabel siswa di database mynotescode. Pada kode diatas juga ada kode yang berada pada tanda [‘……’], kode tersebut harus sama dengan nama field yang ada pada tabel siswa.
STEP 5 – EXPORT EXCEL
Terakhir, kita akan membuat fitur untuk export ke excel. Buat sebuah file dengan nama proses.php, lalu simpan pada folder xampp/htdocs/export_php/. Berikut ini kodenya :
<?php // Skrip berikut ini adalah skrip yang bertugas untuk meng-export data tadi ke excell header("Content-type: application/vnd-ms-excel"); header("Content-Disposition: attachment; filename=nama_filenya.xls"); ?> <h3>Data Siswa</h3> <table border="1" cellpadding="5"> <tr> <th>No</th> <th>NIS</th> <th>Nama</th> <th>Jenis Kelamin</th> <th>Telepon</th> <th>Alamat</th> </tr> <?php // Load file koneksi.php include "koneksi.php"; // Buat query untuk menampilkan semua data siswa $sql = $pdo->prepare("SELECT * FROM siswa"); $sql->execute(); // Eksekusi querynya $no = 1; // Untuk penomoran tabel, di awal set dengan 1 while($data = $sql->fetch()){ // Ambil semua data dari hasil eksekusi $sql echo "<tr>"; echo "<td>".$no."</td>"; echo "<td>".$data['nis']."</td>"; echo "<td>".$data['nama']."</td>"; echo "<td>".$data['jenis_kelamin']."</td>"; echo "<td>".$data['telp']."</td>"; echo "<td>".$data['alamat']."</td>"; echo "</tr>"; $no++; // Tambah 1 setiap kali looping } ?> </table>
Inti dari kode untuk export excel nya hanya ada 2 baris kode. Berikut ini kodenya :
header(“Content-type: application/vnd-ms-excel”);
header(“Content-Disposition: attachment; filename=nama_filenya.xls”);
Yang saya beri warna merah bisa kalian ganti dengan nama file excel nya. Bagaimana? sangat mudah dan simpel bukan?. Semoga dengan tutorial ini, deadline kerjaan bisa teratasi haha. Sekian untuk tutorial kali ini. Jika ada hal yang ingin ditanyakan, langsung tanyakan saja lewat kolom komentar dibawah ini. Jangan lupa LIKE dan SHARE nya hehe, Terimakasih.
SOURCE CODE
Untuk mengunduh source code nya, klik salah satu link dibawah ini
– Download versi PDO : Link download yang sesuai tutorial ini yakni menggunakan fungsi PDO untuk query ke databasenya
– Download versi MySQLi : Link download untuk Anda yang ingin source code versi MySQLi dari tutorial ini
Tutorial membuat export excel tanpa plugin dengan php, Tutorial membuat export excel tanpa librari dengan php, cara tercepat membuat export data ke excel dengan php, cara export data ke excel dengan php, Source Code export excel tanpa plugin dengan php
POST YOUR COMMENTS