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,…
mas, qo kodingan di atas sy coba error gini y mas :
Parse error: parse error, expecting `’)” in bla bla bla.. on line 35
error di perulangan untuk baca data..
kenapa y mas??
reply asap y mas..
thnx,, =)
# desca
line 35? sy udah coba sepertinya baik-baik aja .. mungkin ada yang terlewat mas/mba’..
Terima kasih scriptnya..
udah tak coba dan langsung jalan..
@desca, ubah dulu < menjadi <
@mas Fahmi : tapi saya copas lgsg dr kodingan mas..saya bikin disesuain sama kasus yg mas pake..y uda, makasih bngt y, ntr dsc periksa lagide,, thnx alot,, ^^
@Yogie : ubah apa menjadi apa mas? yg mas tunjukin kok sama 22 ny y?hehe.. thnx juga bantuanny,, =)
Tapi gimana kalau file xls yang dibuka bisa langsung rapi??
mohon jawabannya segera.,
Makasih Sebelum’na….
# Ian
Wah, maaf, saya belum explore lagi soal ‘mempercantik’ output xls-nya mas, karena tujuannya semula hanya eksport ke dalam bentuk xls yang notabene akan diedit lagi contentnya. Klo contentnya sudah fix, mungkin better langsung output PDF.
@fahmi
Owh gitu,
Ya udah Makasi Banyak ya
mas…. kalo mo merger kolom dan baris gimana ya…
, trus klau mo cetak tebal teks nya gimna ya mas…. makasih….
Parse error: parse error, unexpected ‘;’, expecting ‘)’ in C:\Program Files\xampp\htdocs\siskulalihsan\admin\gurump\download_excel.php on line 86
maksudnya apa ya??
dan kurungnya udh di cek, sm kok dgn koding aslinya
padahal copy paste langsung dr kodingnya, tp kok tetep error ya??
tanda titik koma (
tp tetep begitu
mohon bantuannya ya…
makasih
Nice….
Saya cobak untuk di local mau ni sintak, tpi klo untuk yang online gak mau. di bilang internal server error…
Kira” apanya yg salah itu ??
Apa anda udah dapet nyobak ni sintak pas online? n apakah mau ???????
Tolong jawabannya….
Terima kasih sebelumnya
Thank you bro, berguna banget bagi ku….
# Jetbar
Yup, alhamdulillah… Sama-sama bro..