Cara Membuat Laporan Excel Dengan PHP MYSQL PHPExcel

Cara Membuat Laporan Excel Dengan PHP MYSQL PHPExcel

Membangun sebuah sistem atau aplikasi dengan berbasis web. Tidak jarang membutuhkan sebuah laporan (report), misalkan dalam sistem informasi rumah sakit, absensi, ppdb online, inventori barang dan lain sebagainya.
Kemudian pertanyaannya bagaimana cara membuat laporan excel dengan PHP Mysql PHPExcel?
namun sebelum jauh kita membahas cara membuat laporan excel dengan PHP mysql PHPExcel, kita perlu mengetahui terlebih dahulu mengenai PHPExcel itu sendiri.
sebenarnya bisa saja membuat sebuah laporan tanpa PHPExcel, namun tentunya hasilnya akan sederhana.

PHPExcel merupakan sebuah library yang sederhana namun php-excel sangat mudah digunakan.
php-excel bisa digunakan untuk mengekspor file dari database kedalam excel dengan mudah dan cepat.
sehingga data dari sebuah database akan dibuat dan ditampilkan dalam file excel.
cara membuat laporan excel dengan php mysql phpexcel


Untuk selanjutnya saya akan memberikan penjelasan cara membuat laporan excel dengan php mysql PHPExcel.
dalam kesempatan ini saya menggunakan contoh laporan data gangguan pelanggan PT Telkom yang saya buat Silahkan Download Disini

Cara Membuat Laporan Excel Dengan PHP Mysql PHPExcel

Langkah - langkah yang harus kita lakukan untuk membuat laporan excel dengan php mysql php-excel adalah sebagai berikut.

1. Mengunduh PHPExcel Library


Untuk mendapatkan php-excel anda bisa mendapatkannya disini https://github.com/PHPOffice/PHPExcel 

setalah anda berhasil mengunduhnya tempatkan php-excel library di project anda. sebagai contoh saya membuat folder plugin kemudian menempatkannya disana

cara membuat laporan excel dengan php mysql phpexcel

2.  Mempersiapkan Database Mysql

Dilangkah yang kedua ini yang anda perlu lakukan adalah mempersiapkan databasenya. yang nantinya akan dijadikan sebuah laporan di excel.

dalam membuat database saya menggunakan tool phpmyadmin, silahkan terserah anda mau menggunakan tool apa saja saya kira sama. atau mau menggunakan terminal sekalipun.



cara membuat laporan excel dengan php mysql phpexcel

 

3. Membuat Koneksi PHP Dengan Database

Setelah selesai membuat database dengan struktur seperti gambar diatas yang perlu dilakukan selajutnya adalah membuat file koneksi.


cara membuat laporan excel dengan php mysql php-excel

Anda bisa lihat pada gambar diatas terdapat file koneksi.php di project yang anda buat.

untuk source code nya sebagai berikut.

        <?php

 $koneksi = mysql_connect("localhost","root","");

 mysql_select_db("nilai");

        ?>

Catatan :
Pada dasarnya script membuat koneksi adalah seperti diatas, kecuali menggunakan php 5.6 keatas. bisa menggunakan  mysqli atau dengan PDO.
jika database yang dibuat memakai password maka tambahkan di antara kutip kosong disebelah root.

sedangkan yang ditandai nilai ganti dengan nama database yang anda buat.

pastikan database anda telah terkoneksi sebelum lanjut ke proses selanjutnya.

4. Membuat file laporan.php

Laporan.php berisi code fungsi untuk memanggil data dari database sekaligus menampilkannya. 
source code :

<?php
require_once '../koneksi.php';
require_once '../plugins/excel/PHPExcel.php';
// Create new PHPExcel object
$objPHPExcel = new PHPExcel();
$sql_iptv = "SELECT * FROM nilai where servicetype = 'VOICE'";
$result = mysql_query($sql_iptv);
// Set properties
$objPHPExcel->getProperties()->setCreator("Laporan")
      ->setLastModifiedBy("Sekolah")
      ->setTitle("Office 2007 XLSX Test Document")
      ->setSubject("Office 2007 XLSX Test Document")
      ->setDescription("Laporan Guru")
      ->setKeywords("office 2007 openxml php")
      ->setCategory("Guru");
// Add some data
$objPHPExcel->getActiveSheet()->getStyle('A1:P1')->getFont()->setBold(true);
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'Incident')
->setCellValue('B1', 'Customer Name')
->setCellValue('C1', 'Summary')
->setCellValue('D1', 'Last Updated Work Log')
->setCellValue('E1', 'Last Work Log Date')
->setCellValue('F1', 'Customer Segment')
->setCellValue('G1', 'Service Type')
->setCellValue('H1', 'SLG')
->setCellValue('I1', 'Technology')
->setCellValue('J1', 'Datek')
->setCellValue('K1', 'Reported Date')
->setCellValue('L1', 'TTR Customer')
->setCellValue('M1', 'TTR Nasional')
->setCellValue('N1', 'TTR Regional')
->setCellValue('O1', 'TTR Witel')
->setCellValue('P1', 'Status');
$no = 0;
$baris = 2;
while($row = mysql_fetch_array($result)) {
$no = $no +1;
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue("A$baris", $row['incident'])
->setCellValue("B$baris",$row['customername'])
->setCellValue("C$baris", $row['summary'])
->setCellValue("D$baris", $row['lastupdatedworklog'])
->setCellValue("E$baris", $row['lastworklogdate'])
->setCellValue("F$baris", $row['customersegment'])
->setCellValue("G$baris", $row['servicetype'])
->setCellValue("H$baris", $row['slg'])
->setCellValue("I$baris", $row['technology'])
->setCellValue("J$baris", $row['datek'])
->setCellValue("K$baris", $row['reporteddate'])
->setCellValue("L$baris", $row['ttrcustomer'])
->setCellValue("M$baris", $row['ttrnasional'])
->setCellValue("N$baris", $row['ttrregional'])
->setCellValue("O$baris", $row['ttrwitel'])
->setCellValue("P$baris", $row['status']);

$baris = $baris + 1;
}
// Rename sheet
$objPHPExcel->getActiveSheet()->setTitle('Laporan.xls');
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);
// Redirect output to a client’s web browser (Excel5)
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="VOICE_des.xls"');
header('Cache-Control: max-age=0');
header("Content-Transfer-Encoding: binary ");
header( "content-type application/vnd.ms-excel charset=utf-8" );
header("Content-type: application/octetstream");
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
?>

Penjelasan :
Untuk code yang bertanda orange  merupakan code untuk memanggil file koneksi yang sebelumnya telah dibuat serta memanggil library php excel yang telah disiapkan sebbelumnya. sesuaikan dengan lokasi kedua tempat file berada
contoh : 
folder/koneksi.php //artinya memanggil koneksi.php dalam folder
../     //artinya keluar dari folder stu kali.
 

Screenshot :

cara membuat laporan excel dengan php mysql php-excel
  

cara membuat laporan excel dengan php mysql php-excelcara membuat laporan excel dengan php mysql php-excel

Nah itu dia tutorial Cara Membuat Laporan Excel Dengan PHP MYSQL PHPExcel.

Untuk mendapatkan contoh programnya Silahkan DOWNLOAD DISINI


No comments