fahmijafar

Icon

There’s always time to launch your dreams

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..

Category: PHP, Teknologi

Tagged:

75 Responses

  1. kenz says:

    thanx mas…
    tutorial dan class fpdfnya sangat membantu…
    :d

  2. annie says:

    source code buat forum diskusi

  3. annie says:

    tolong saya cari source code buat forum diskusi dan aplikasi chat, mohon batuannya ke alamat an_rifah87@yahoo.co.id

  4. fahmi says:

    # 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

  5. Aiek says:

    Mas mau nanya tapi tdk berhubungan dengan postingan ini, bagaimana cara buat grafik dengan PHP?

  6. fahmi says:

    # Aiek
    Untuk grafik, saya pernah pake library jpgraph (http://www.aditus.nu/jpgraph). Bisa dicoba..

    Semoga membantu.

  7. kenz says:

    mas mau nanya lg ya….:d

    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…:)

  8. wili says:

    :((

    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….?

  9. fahmi says:

    # 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 :)

  10. [...] 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 [...]

  11. sampara says:

    Thanks for artikelnya, artikelnya oke punya deh.
    From
    http://www.sampara.com

    http://www.gratisan.sampara.com

  12. agus hidayatulloh says:

    tolong beri tau cara koneksi ms excel ke mySQL trus ditampilkan pada PHP.
    tolong secepatnya ya.

  13. fahmi says:

    # 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()).

  14. beginner says:

    Kalau mau export image dari php ke excel gimana caranya ya?

  15. standart says:

    oh iya tuh, saya juga lagi cari tutorialnya?
    mungkin ada yang bisa?

  16. wirka says:

    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.

  17. ssssssss says:

    sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss

  18. Budiman says:

    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

  19. yana says:

    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

  20. daday says:

    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…

  21. dede says:

    bingung ni, gimana contoh penerapan nya ada contohnya yang bisa diliat tidak?soal nya masi pemula n bingung soal pemakaian fungsi ini :(

  22. mican says:

    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..

  23. fahmi says:

    # 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 :)

  24. mican says:

    @fahmi
    thanks a lot yakk buwat pencerahanya..
    i will try soon

    terimakasih,… :)

Leave a Reply

Archives