Exporting MySQL Database into xls Files Using PHP

25 01 2011

Dear all, kali ini saya ingin share sedikit tips dan trik pemrograman website dengan PHP yang berhubungan dengan basis data atau database (kumpulan data). Teman-teman mungkin pernah menjumpai webiste umumnya yang terdapat data-data tertampil  pada sebuah halaman website (web page)  dan data-data tersebut dapat di eksport ke bentuk file lain (seperti file excel, csv atau word misalnya). Nah, bagaimana sih proses pembuatannya ??? Berikut step-by-step pembuatan aplikasi tersebut :

Langkah awal adalah mempersiapkan database sebagai tempat penyimpanan data. Berikut contoh desain database dan tabel nya :

Database Name : excel

Table Name : data

Field :

Selanjutnya, silahkan isikan beberapa data ke tabel database tersebut (data masukan terserah anda). Sebelum membuat script export database dengan PHP, kita buat file koneksi ke database. Berikut code script tersebut :

<?php
$host = "DATABASE-HOST";
$username = "DATABASE-USER";
$password = "DATABASE-PASSWORD";
$db = "DATABASE-NAME";

mysql_connect($host,$username,$password) or die("Koneksi gagal");
mysql_select_db($db) or die("Database tidak bisa dibuka");
?>

 

Script berikutnya adalah script untuk menampilkan data ke web page :

<?php
include "koneksi.php";
echo "<br /><br /><center>
<h2>View Data</h2>
<table border='1'>
<tr><th>No</th><th>nama</th><th>umur</th>
</tr>";
$tampil=mysql_query("SELECT * FROM data");
$no= 1;
while ($r=mysql_fetch_array($tampil)){
echo "<tr>
<td class='data'>$no</td>
<td class='data'>$r[nama]</td>
<td class='data'>$r[umur]</td>
</tr>";
$no++;
}
echo "</table><br />
<input type='button' value='Export to Excel' onclick=location.href='export.php'>
</center>";
?>

Results web page :


Script Export to Excel :

<?php
include "koneksi.php";
$query  = "SELECT * FROM data";
$result = mysql_query($query) or die('Error, query failed');
$html = array();
while($row = mysql_fetch_array($result, MYSQL_NUM))
{
$html[] = "
<tr><td>" .implode("</td><td>", $row) . "</td></tr>";
}
$html = "<table>
<th>No</th><th>Nama</th><th>Umur</th>" . ("\r\n", $html) . "</table>";
$fileName = 'export.xls';
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=$fileName");
echo $html;
?>

Results Excel Files :

Cukup sampai disini dulu tips dan trik pemrograman website ini, semoga berkenan di hati para pembaca yang budiman…hehehe

Thanks

Regards

 

 

 

 

Refference :

http://www.google.com/


Actions

Information

6 responses

6 10 2011
noname

makasih brooo

6 10 2011
heru widakdo

Sama2 gan

20 02 2012
Riyand

Bro…diriku dah py model html sendiri…
nama fileny daftar_mhs.php (pengganti export.php)
ku pake sintax yg paling bawh pd export.php

$html=””;
$fileName = ‘export.xls’;
header(“Content-type: application/vnd.ms-excel”);
header(“Content-Disposition: attachment; filename=$fileName”);
echo $html;

nah,pengiriman variabel $html ke excel kok ga da yaaa…
mhn petunjukny

20 02 2012
Riyand

diriku pake excel 2007
lalu isi variabel $html adlh selrh kode html diriku

ketika ku klik tombol export
ga tampil excel ny
yg tampil hanya hasil echo $html;

25 02 2012
heru widakdo

wah iya tuh gan, yg ke posting script ane yg blm lengkap.
ntar deh klo ada wktu ane upload scriptnya….
Thanks buat koreksinya gan….

27 02 2013
Vasco

Bro, saya ada 2 tabel yaitu tbl I:tabel restoran dan yg kedua tbl kupon. dalam tabel restoran ada nm_restoran & tbl kupon juga ada nm_restoran. pertanyaan saya begini bro, bagaimana saya memangil nm_restoran yang telah tersimpan di tbl restoran ke tbl kupon dengan combobox pada php mysql? terima kasih. Dan kenal Salam dari Timor Leste

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




%d bloggers like this: