Feb 14, 2007
Eksport data MySQL ke Ms. Excel dengan PHP
Beberapa waktu yang lalu saya sempet jalan-jalan ke sini, maksud hati mau download appserv, dan rupanya ada artikel tentang eksport data MySQL ke Ms. Excel (XLS format) dengan PHP, dan rasanya ini akan sangat bermanfaat untuk (misalnya) mencetak laporan yang bisa diedit dengan mudah. Berikut kutipan kodenya :
//function for XLS
function xlsBOF() {
echo pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
return;
}
function xlsEOF() {
echo pack("ss", 0x0A, 0x00);
return;
}
function xlsWriteNumber($Row, $Col, $Value) {
echo pack("sssss", 0x203, 14, $Row, $Col, 0x0);
echo pack("d", $Value);
return;
}
function xlsWriteLabel($Row, $Col, $Value ) {
$L = strlen($Value);
echo pack("ssssss", 0x204, 8 + $L, $Row, $Col, 0x0, $L);
echo $Value;
return;
}
Kemudian kita tambahkan header agar output bisa didownload dalam bentuk XLS format, serta query ke database dan hasil query diletakkan pada cell-cell di spreadsheet. Kutipan kodenya :
// query database
$queabsdetail = "SELECT id, nama, nohp FROM tabel_user";
// eksekusi query
$exequeabsdetail = mysql_query($queabsdetail);
// read the result and insert into new array
while($res = mysql_fetch_array($exequeabsdetail)){
$data['id'][] = $res['id'];
$data['nama'][] = $res['nama'];
$data['nohp'][] = $res['nohp'];
}
$jm = sizeof($data['id']);
// sending header
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=fileexcel.xls " );
header("Content-Transfer-Encoding: binary " );
xlsBOF();
xlsWriteLabel(0,0,"Sample : Export To Excel" );
xlsWriteLabel(2,0,"Jumlah Data" );
xlsWriteLabel(2,1,$jm); xlsWriteLabel(4,1,"No" );
//menulis pada cell (baris 4 kolom 1)
xlsWriteLabel(4,2,"Nama" );
xlsWriteLabel(4,3,"No. Hp" );
$xlsRow = 5;
//posisi awal
for ($y=0;$y<$jm;$y++){ //perulangan untuk baca data
++$i;
xlsWriteNumber($xlsRow,1,"$i" );
xlsWriteLabel($xlsRow,2,$data['nama'][$y]);
xlsWriteLabel($xlsRow,3,$data['nohp'][$y]);
$xlsRow++;
}
xlsEOF();
exit();
Semoga bermanfaat..
thanx mas…

tutorial dan class fpdfnya sangat membantu…
source code buat forum diskusi
tolong saya cari source code buat forum diskusi dan aplikasi chat, mohon batuannya ke alamat an_rifah87@yahoo.co.id
# annie
Untuk source code forum diskusi saya biasa pake yang udah jadi (phpBB > http://www.phpbb.com), sedang untuk aplikasi chat saya pernah coba pake lace
Mas mau nanya tapi tdk berhubungan dengan postingan ini, bagaimana cara buat grafik dengan PHP?
# Aiek
Untuk grafik, saya pernah pake library jpgraph (http://www.aditus.nu/jpgraph). Bisa dicoba..
Semoga membantu.
mas mau nanya lg ya….
saya pake database MSSQL 2000…trus saya kesulitan
script php buat insert file pdf ke mssql… gmn ya??? bs bantu ga mas??
terus mw nge download lg file pdf itu dr mssql via php…
cm itu aja mas…
thanx b4…
Warning: Cannot add header information - headers already sent by (output started at c:\apache\htdocs\export_xls.php:1) in c:\apache\htdocs\export_xls.php on line 42
aku nyoba kok gak bisa ngirim headernya ya……!
solusinya gimana….?
# wili
Sepertinya ada output HTML, bisa berupa tag2 tertentu, karakter spasi, dan segala output HTML lainnya yang muncul sebelum pemanggilan header export2xls.
Jadi, hilangkan output HTML di atas kode header() jika ada.
Semoga membantu
[...] saya inginkan. Bet.. bet… bet adakadabra !!! Akhirnya Saya mendapatkan informasi ini dari blog ini dan si penulis menginformasikan jika script ini bisa didapat dari situs resmi [...]
Thanks for artikelnya, artikelnya oke punya deh.
From
http://www.sampara.com
http://www.gratisan.sampara.com
tolong beri tau cara koneksi ms excel ke mySQL trus ditampilkan pada PHP.
tolong secepatnya ya.
# agus hidayatulloh
Pada kutipan kedua di atas sudah ditunjukkan caranya pak, di bagian //query database. Di bawahnya sudah langsung menjalankan fungsi mysql_query(), dengan asumsi sudah terkoneksi dengan databasenya (mysql_connect()).
Kalau mau export image dari php ke excel gimana caranya ya?
oh iya tuh, saya juga lagi cari tutorialnya?
mungkin ada yang bisa?
bagaiman yah caranya koneksi menggunakan php tetapi server databasenya menggunakan dua server dan databasenya beda. tolong dong solusinya coz saya make coneksi mysql_connect(”192.168.0.2″,”root”,”root”) kok engga mau koneksi yah databsenya. tolong yah dio balas ato di email ke email saya.
asdaadasd
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
mas, cara untuk meng-convert excel dengan menggunakan checkbox select, jadi saya bisa memilih data2 yang ingin di convert ke excel?? karena ini hanya bisa meng-convert seluruh data di database mysql.mohon bantuannya
mas tolong bantu saya.gimana script untuk upload file xls kemudian menyimpannya kedalam database nilai_siswa yang terdiri dari field (nis,kode_guru,kode_mp,kode_smt,kelas,nilai).pliz mas bantuin saya penting banget.tinggal 2 hari lagi saya harus deadline sidang skripsi.bantu ya mas..terima kasih sebelumnya
tanks atas informasinya ini pasti bermanfaat untuk kelulusan kuliah gw karna gw lagi bikin skripsi yang judulnya memerlukan code yang lw kasih, sekali lagi gw makasih banget tanks y bro…
bingung ni, gimana contoh penerapan nya ada contohnya yang bisa diliat tidak?soal nya masi pemula n bingung soal pemakaian fungsi ini
para master tolong bantuin dung. ak gi nyari yang sebaliknya nh. maksutnya, lewat web yang kita bikin ntar ada fasilitas upload
nah data yang diupload tu data dalam bentuk excel trus gimana biar ntar bisa masuk dalam database gitu
*) aku pake database MySQL
tolong dibantu yah,..
terimakasih..
# mican
Coba cek ini mas http://forums.tutorialized.com/php-91/export-ms-excel-to-mysql-using-php-10118.html . Tapi saya belum coba sendiri. Semoga berhasil
@fahmi
thanks a lot yakk buwat pencerahanya..
i will try soon
terimakasih,…