Tutorial Laporan Excel dengan PHP

Masih melanjutkan tutorial sebelumnya, kali ini kita akan membuat laporan dalam format excel dari tabel UMR2013. struktur tabel dan isi tabel bisa anda lihat di artikel sebelumnya yang berjudul membuat laporan PDF dengan PHP. Membuat Excel tidak sesulit yang kita kira karena kita telah dibantu oleh library PHPExcel.

Ini adalah kode lengkap untuk membuat laporan Excel yangmana datanya diambil dari MySQL. Penjelasan kode bisa anda baca di kodenya langsung :). Ga susahkan ?

<?php

error_reporting(E_ALL);

//include file PHPExcel dan konfigurasi database 
require_once '../plugins/excel/PHPExcel.php';
require_once '../inc/config.php';
// Buat object PHPExcel
$objPHPExcel = new PHPExcel();

//query mysql, ganti baris ini sesuai dengan query kamu 
$query="select * from umr2013 ";
$hasil = mysql_query($query);
 
// Set properties, isi teks ini bisa anda lihat
//di file excel yang dihasilkan, klik kanan file tersebut
//dan pilih properties. 
$objPHPExcel->getProperties()->setCreator("Candra Adi Putra")
      ->setLastModifiedBy("Candra Adi Putra")
      ->setTitle("Office 2007 XLSX Test Document")
      ->setSubject("Office 2007 XLSX Test Document")
       ->setDescription("Laporan transaksi .")
       ->setKeywords("office 2007 openxml php")
       ->setCategory("UMR 2013");
 
// Header dari tabel , data akan di simpan di kolom A, B dan C
$objPHPExcel->setActiveSheetIndex(0)
       ->setCellValue('A1', 'No')
       ->setCellValue('B1', 'Propinsi')
       ->setCellValue('C1', 'Upah');
 
$baris = 2;
$no = 0;
//kode untuk menampilkan data dari database ke sel excel 
//$baris=2 artinya kita mulai memasukan data ke baris kedua 	
while($row=mysql_fetch_array($hasil)){
$no = $no +1;
$objPHPExcel->setActiveSheetIndex(0)
     ->setCellValue("A$baris", $row['no'])
     ->setCellValue("B$baris", $row['propinsi'])
     ->setCellValue("C$baris", format_rupiah($row['upah']));
$baris = $baris + 1;
}
 
// nama dari sheet yang aktif 
$objPHPExcel->getActiveSheet()->setTitle('transaksi');
 
$objPHPExcel->setActiveSheetIndex(0);
 
// simpan file excel dengan nama umr2013.xls
//saat file berhasil di buat, otomatis pop up download akan muncul 
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="umr2013.xls"');
header('Cache-Control: max-age=0');
 
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
?>
 

Source code

Silahkan download source lengkap codenya disini.

Penulis: Candra Adi Putra

Berlokasi di Yogyakarta, Indonesia, CandraLab Studio Fokus pada pembuatan Aplikasi Mobile (Android) dan Web . Hubungi saya di candraadiputra(at) gmail (dot) com

  • http://gravatar.com/fadel2000 Muhammad Rizal

    Makasih banyak tutorialnya, semoga bermanfaat bagi saya dan bagi yang membuatnya

  • http://teamworksindonesia.wordpress.com TeamworksID

    Mas mau tanya gimana yah klu yang di export filednya nomor handphone, kan di awal pasti ada 0, dan ketika di export di excel akan jadi hilang nolnya, trims

  • CahAngon

    wih,. keren bro. sangat membantu sekali. thanks

  • afif

    Jika ingin membuat laporan dari database mysql yang berisi gambar, supaya gambarnya tampil saat export ke excel, gimana gan?

  • beben

    gan kalau saya ngambil hasil querynya dari halaman lain kok kosong ya di excelnya sedangkan di query yang ada excelnya telah ane deklarasikan

  • http://www.ladangmusik.com wisnuvb

    kalo mau nampilkan gambar ke excel gimana ya? trus kalo mau buat rata kanan, tengah ato kiri gmn ya? tolng kirm ke email tutorialnya kalo gak keberatan ya mas…trimakasih

  • fajri permono

    tutory bagus gan, udah ana coba. ohya gan kalo tabelnya lebih dari satu gmana kan? thanks

    • Candra Adi Putra

      sama aja, perbedaanya kan cuman di query sqlnya aja

  • http://www.mercubuana.ac.id BJuser

    Keren banget gan tutor2nya, sukses terus gan

Post Navigation