Tutorial PHP - Export Data dari Database MySQL ke Excel dengan PHP


Membangun Aplikasi Website dengan Server side scripting seperti PHP kita akan banyak bekerja dengan database bahkan bisa dikatakan tidak akan pernah lepas dari database. sebab siapa yang sanggup mengelola website static dimana untuk merubah konten kita harus merubah coding. Dengan database memungkinkan kita membuat aplikasi website yang dinamis.

Berbicara tentang website dinamis tentu saja hal itu erat kaitannya dengan kemudahan yang ditawarkan seperti merubah tampilan tak perlu lagi mengedit kode template website tersebut selain itu data-data pada website dinamis akan tersimpan didatabase. Berangkat dari hal itu, disini saya akan berbagi trik bagaimana mengeksport data dari tabel database menjadi file excel.

1. Pertama-tama saya asumsikan anda sudah memiliki sebuah tabel dan beberapa data dalam database anda

Export Data dari Database MySQL ke Excel dengan PHP

2. Lakukan koneksi ke Database dengan contoh script dibawah ini sesuaikanlah dengan milik anda. simpan dengan dengan nama koneksi.php
<?php 
mysql_connect("localhost","root","root");
mysql_select_db("biodata");
?>
3. Langkah berikutnya adalah membuat sebuah halaman yang berisi sebuah form dan button dimana aksinya akan melakukan export data.
<html>
<head>
 <title>Export Excel</title>
</head>
 
 <body>
 <a href="export.php"><input type="button" value="Export/Download"/></a>
 </body>

</html>
4. Tahap terakhir yang paling penting adalah membuat sebuah file yang akan melakukan proses export data. Script yang saya gunakan adalah sebagai berikut. simpan dengan nama export.php simpan didalam folder projek anda.
<?PHP
  // Original PHP code by Chirp Internet: www.chirp.com.au
  // Please acknowledge use of this code by including this header.
  include "koneksi.php";
  function cleanData(&amp;$str){
    $str = preg_replace("/\t/", "\\t", $str);
    $str = preg_replace("/\r?\n/", "\\n", $str);
    if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
  }

  // Nama Hasil Export
  $filename = "hasil_export_" . date('dmY') . ".xls";

  header("Content-Disposition: attachment; filename=\"$filename\"");
  header("Content-Type: application/vnd.ms-excel");

  $flag = false;
  $result = mysql_query("SELECT * FROM data ORDER BY id") or die('Query failed!');
  while(false !== ($row = mysql_fetch_assoc($result))) {
   if(!$flag) {
      echo implode("\t", array_keys($row)) . "\r\n";
      $flag = true;
    }
    array_walk($row, 'cleanData');
    echo implode("\t", array_values($row)) . "\r\n";
  }
  exit;
?>
Hasil yang saya peroleh dapat anda lihat pada gambar file excel berikut ini. Bisa dilihat bahwa datanya sama dengan gambar screenshoot data di mysql pada gambar diatas.

Export Data dari Database MySQL ke Excel dengan PHP

Posting Komentar