posted Dec 3, 2011, 7:05 AM by Editor KursusInternet [ updated Dec 3, 2011, 8:06 PM ]
Pendahuluan
Selain tampilan berbentuk halaman web, banyak user yang menginginkan laporan dalam bentuk file Excel sehingga mudah diolah dan dianalisa lebih lanjut. Dengan demikian, tuntutan untuk programmer PHP dalam menghasilkan format Excel tentunya semakin tidak dapat dihindarkan.
Di lain pihak, tidak terlalu banyak class maupun extension PHP yang mengakomodir hal tersebut. Walaupun ada, beberapa telah menjadi project yang tidak dipelihara (maintain) dengan baik.
Pada kesempatan kali ini, penulis memilih project PHPExcel yang cukup aktif dikembangkan sebagai topik untuk solusi output file berformat Excel dari PHP.
Kebutuhan / Requirement Sistem
PHPExcel merupakan kumpulan class PHP yang dapat digunakan apabila kebutuhan (requirement) berikut telah terpenuhi :
- Versi PHP yang digunakan adalah 5.2 ke atas.
- Extension berikut telah diaktifkan :
- php_zip
- php_xml
- php_gd2
Screenshot berikut ini menampilkan informasi dari phpinfo() bahwa kebutuhan di atas telah terpenuhi.
Instalasi dan Konfigurasi PHPExcel
- Kunjungi halaman website PHPExcel : //phpexcel.codeplex.com.
- Klik tombol "Download" untuk mengambil versi stabil terakhir. Pada saat penulisan dibuat, versi terakhir adalah 1.7.6.
- Ekstrak folder tersebut dan kita akan dapatkan file berikut pada root folder.
- PIndahkan folder Classes ke folder aplikasi web yang Anda inginkan.
- Selesai.
Contoh Penggunaan
generate_excel.php
<?php error_reporting(E_ALL);include_once'phpexcel1.7.6/Classes/PHPExcel.php';$objXLS=new PHPExcel(); $objSheet=$objXLS->setActiveSheetIndex(0);$objSheet->setCellValue('A1','No.');$objSheet->setCellValue('B1','Nama Kategori');$objSheet->setCellValue('A2',1);$objSheet->setCellValue('B2','Buah-buahan');$objSheet->setCellValue('A3', 2);$objSheet->setCellValue('B3','Sayur-sayuran');$objXLS->getActiveSheet()->getColumnDimension("A")->setAutoSize(true); $objXLS->getActiveSheet()->getColumnDimension("B")->setAutoSize(true);$objXLS->getActiveSheet()->setTitle('Kategori Produk');$objXLS->setActiveSheetIndex(0); $objWriter= PHPExcel_IOFactory::createWriter($objXLS,'Excel5');$objWriter->save(__DIR__ ."/hasil.xls");?>
Video Demo Penggunaan
Sumber Referensi
- //phpexcel.codeplex.com
- Tutorial generate Excel lainnya :
- //www.ibm.com/developerworks/opensource/library/os-phpexcel