Just Share Information and Experience

Monday 13 November 2017

Cara Export Data Dari Database ke Excel Dengan PHPExcel

www.egan-jy.blogspot.co.id

Dalam membangun suatu sistem yang sudah terkomputasi pasti memiliki banyak fitur-fitur yang seharusnya dapat mempermudah user atau penggunanya dalam melaksanakan suatu tugas. Setiap sistem dari suatu perusahaan pasti memiliki aturan bisnis dari program yang mereka gunakan yang mana memang dibutuhkan untuk keperluan pengolahan data. Tentunya antara perusahaan satu dengan yang lainnya pasti memiliki aturan bisnis yang berbeda terhadap aplikasi/sistem yang mereka gunakan. Tetapi, dari perbedaan tersebut pasti ada satu fitur yang tidak pernah lepas dari setiap sistem/aplikasi yang digunakan dalam suatu perusahaan, apa itu? yap benar fitur tersebut adalah berupa laporan. Laporan dapat memudahkan user/pengguna aplikasi untuk menganalisa data yang diperlukan untuk diproses ke tahap selanjutnya ataupun juga sebagai sarana informasi dari suatu inputan dalam sistem.

Baca Juga : Cara Import Excel ke Mysql Dengan PHPExce

Istilah laporan ini sering kita temui dalam sebuah sistem diluar sana, cotohnya adalah export data. Export laporan juga ada banyak jenisnya, mulai dari excel,pdf,csv,word,text,dll dan tentunya disesuaikan dengan kebutuhan dari perusahaan tersebut. Namun pada artikel kali ini yang akan saya bahas adalah cara export data dari database ke microsoft excel. Untuk export ke tipe yang lainnya, next time pasti akan saya posting juga ya,,,heheheh

Contoh yang akan saya berikan disini merupakan contoh yang sangat sederhana agar teman-teman dapat lebih gampang memahami alur dari export data ke excel ini. Dan tentunya jika sudah paham, maka dapat diimplementasikan dalam kasus yang sebenarnya.

Baca Juga : Cara Membuat Sheet Baru Saat Export Data Excel Pada PHP

ok, agar contoh artikel ini dapat berjalan dengan baik maka diperlukan beberapa syarat :
1. Diperlukan Web Server dan Mysql Server, bisa pake XAMPP
2. Library PHPExcel
3. Framework CSS Bootstrap (optional) untuk tampilan saja.
4. Database (data yang akan diexport)
*Tenang aja, kelengkapan contoh dari artikel ini sudah saya sediakan link downloadnya pada akhir artkel ini, jani keep calm ya,,,heheheh

Berikut adalah struktur file yang saya gunakan.

www.egan-jy.blogspot.co.id


Koneksi.php => untuk koneksi ke database


<?php
$database = 'db_data_ajax'; //nama database
$user = 'root'; //nama user db
$pass = ''; //pass db
$host = 'localhost'; //host db, sesuaikan dengan settingan di komputer masing2.

$conn = mysqli_connect($host,$user,$pass,$database);

if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

?>



index.php => File halaman awal

<html>
<head>
<!-- CSS untuk bootstrap -->
<link rel="stylesheet" href="css/bootstrap.css" type="text/css">

</head>
<body>

<?php
include"koneksi.php";

$sql = "select * from data_provinsi";
$result = mysqli_query($conn,$sql);
?>
<div class="container">
<button id="export_data" class="btn btn-success btn-sm">Export To Excel</button>
<table class="table table-bordered">
    <thead>
    <tr>
    <th>Id Provinsi</th>
        <th>Nama Provinsi</th>
    </tr>
    </thead>
    <tbody>
        <?php
                while($row=mysqli_fetch_assoc($result)){

                    echo"<tr><td>".$row['id_provinsi']."</td><td>".$row['nama_provinsi']."</td></tr>";

                }
        ?>
    </tbody>
    </table>
 </div>

<!-- js untuk jquery -->
<script src="js/jquery-1.11.2.min.js"></script>
<!-- js untuk bootstrap -->
<script src="js/bootstrap.js"></script>

<script type="text/javascript">
$(document).ready(function(){
$('#export_data').click(function(){
window.open('export.php/');
});
});
</script>
</body>
</html>



export.php => proses export ke excel


<?php

include"koneksi.php";
include"PHPExcel.php";

$sql = "select * from data_provinsi";
$result = mysqli_query($conn,$sql);

$objPHPExcel = new PHPExcel();
    $objPHPExcel->getProperties()
          ->setCreator("I Kadek meganjaya")
            ->setTitle("Contoh export data excel");

    $objset = $objPHPExcel->setActiveSheetIndex(0); //inisiasi set object dan index sheet
    $objget = $objPHPExcel->getActiveSheet();  //inisiasi get object
    $objget->setTitle('Data Provinsi');

    $objset->setCellValue('A1','Id Provinsi');
    $objset->setCellValue('B1','Nama Provinsi');

    $baris=1;
    while($row=mysqli_fetch_assoc($result)){
    $objset->setCellValue("A".$baris, $row['id_provinsi']);
    $objset->setCellValue("B".$baris, $row['nama_provinsi']);
    $baris++;
    }

     $filename = "Data Provinsi-".date("d-m-Y").".xlsx";
       
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');

    //sesuaikan headernya
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
    header("Cache-Control: no-store, no-cache, must-revalidate");
    header("Cache-Control: post-check=0, pre-check=0", false);
    header("Pragma: no-cache");
    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    //ubah nama file saat diunduh
    header('Content-Disposition: attachment;filename='.$filename);
    //unduh file
    $objWriter->save("php://output");

?>


Setelah semua sudah selesai, mari kita jalankan di browser dan cobalah untuk export data yang ada pada tabel tersebut. 

www.egan-jy.blogspot.co.id

Kalau ada yang masih belum paham, bisa tinggalkan komentar dibawah artikel ini yaaa...


No comments:

Post a Comment