contact
WA: 0822-8846-7823
SMS: 0822-8846-7823
Call: 0822-8846-7823
BBM: D7DB3491
ebsofmail@gmail.com

Cara mudah Membuat laporan Exel dengan PHP

Posted in PHP MYSQL / i Life at 18 September 2016 With 0 Comments

Setelah pada artikel sebulmnya saya sudah membahas Cara Mudah Export Data dari Mysql ke Ms. Exel dengan PHP  disini, Kali ini kita akan Membuat Laporan / report Exel Dengan PHP dengan Tehnik Yang berbeda , Disini kita akan Membuat Download Excel Menggunakan Native PHP dengan Database MySQL , Perbedaan pada artikel sebelumnya kita hanya menambahkan fungsi header pada data yang ingin kita export ke ms. exel , selebihnya kita hanya menampilkan data seperti biasa, baik itu data HTML biasa maupun data yang kita ambil dari database.

Disini kita akan Membuat Export Data / Laporan dari Database langsung ke Ms. Exel , sehingga data langsung dari database masuk ke excel. sebenarnya konsepnya mudah , yang harus dilakukan cukup dengan membuat data di bagian database menjadi sebuah list array yang nantinya array tersebut akan dibaca dan kemudian diubah menjadi excel dengan menggunakan fungsi createExcel.

Membuat Laporan Exel dengan PHP

▼ Download Source Code Dibawah Ini ▼


export data exel dengan php

Disini saya terdapat sebuah data didatabase seperti ini :

membuat laporan exel dengan php

sehingga yang sebenarnya perlu dilakukan adalah memasukan satu-persatu data hasil dari fetch database ke sebuah array. sebagai contoh berikut :

/*BLOCK FUNCTION SQL*/
$keluarga=array();
$link = mysqli_connect("localhost", "root", "123456", "goblooge");
$result=mysqli_query($link,"SELECT * FROM keluarga");
while($row=mysqli_fetch_array($result)){
    $keluarga[]=array(
        "Nama"=>$row['nama'],
        "Alamat"=>$row['alamat'],
        "Ayah"=>$row['ayah'],
        "Ibu"=>$row['ibu'],
        "Hobi"=>$row['hobi']
    );    
}
/*END BLOCK FUNCTION SQL*/

nah tinggal di coba dan fuala hasilnya pun akan terlihat. sebagai gambar berikut.

export data exel dengan php

Nah .. berikut ini script Lengkap nya :

<?php 

/*BLOCK FUNCTION EXCELL*/
function cleanDataExcel(&$str){
    $str = preg_replace("/\t/", "\\t", $str);
    $str = preg_replace("/\r?\n/", "\\n", $str);
    if($str == 't') $str = 'TRUE';
    if($str == 'f') $str = 'FALSE';
    if(preg_match("/^0/", $str) || preg_match("/^\+?\d{8,}$/", $str) || preg_match("/^\d{4}.\d{1,2}.\d{1,2}/", $str)) {
        $str = "'$str";
    }
    if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}

function createExcel($filename,$array){
    // filename for download
    $filename = $filename.".xls";
    header("Content-Disposition: attachment; filename=\"$filename\"");
    header("Content-Type: application/vnd.ms-excel");    
    $flag = false;
    foreach($array as $row) {
        if(!$flag) {
            // display field/column names as first row
            echo implode("\t", array_keys($row)) . "\r\n";
            $flag = true;
        }
        array_walk($row, 'cleanDataExcel');
        echo implode("\t", array_values($row)) . "\r\n";
    }
    return;
}
/*END OF - BLOCK FUNCTION EXCELL*/

/*BLOCK FUNCTION SQL*/
$keluarga=array();
$link = mysqli_connect("localhost", "root", "123456", "goblooge");
$result=mysqli_query($link,"SELECT * FROM keluarga");
while($row=mysqli_fetch_array($result)){
    $keluarga[]=array(
        "Nama"=>$row['nama'],
        "Alamat"=>$row['alamat'],
        "Ayah"=>$row['ayah'],
        "Ibu"=>$row['ibu'],
        "Hobi"=>$row['hobi']
    );    
}
/*END BLOCK FUNCTION SQL*/

/*TRANSFER KE SYSTEM*/
createExcel("keluarga.xls",$keluarga);

?>

Nah.. silahkan download disini database dan source code langkapnya

Artikel Rekomendasi



Artikel Terkait

Diskusi