Free Ebook Tutorial from Rosihan Ari's Blog

Ebook Javascript | Ebook PHP | Ebook AJAX | Ebook CSS | Ebook FPDF | Ebook Wordpress | Ebook Java SE




PHPExcel Class Tutorial 1: Membuat Workbook dan Worksheet Excel


February 20th, 2015 | by rosihanari |


Jual kaos

Pada artikel kali ini, saya akan membuat tutorial bagaimana mengolah dokumen Excel menggunakan PHP. Dikarenakan materi yang disampaikan sangat banyak, maka saya rencanakan tutorial ini akan disajikan secara berseri.

Untuk keperluan pengolahan dokumen Excel dengan PHP ini, saya akan menggunakan class PHPExcel yang cukup handal. Sebenarnya terkait dengan pengolahan dokumen Excel ini, saya pernah mempostingnya dalam artikel tentang membuat report Excel dan import Excel. Namun, setelah beberapa kali melakukan eksperimen ternyata class-class yang saya gunakan tersebut memiliki banyak kekurangan. Kekurangan tersebut diantaranya: belum bisa mengeksport dan mengimport file Excel dalam format Excel 2007 (.xlsx), class tersebut sering dijumpai ketidakcocokan dengan beberapa versi PHP terbaru, serta terbatasnya fitur untuk pengaturan format cell. Dengan menggunakan class PHPExcel yang akan saya kupas ini nanti, insya alloh keterbatasan-keterbatasan tersebut bisa dihilangkan.

PHPExcel adalah kumpulan class PHP yang dapat digunakan untuk mengenerate dan mengimport dokumen spreadsheet seperti Excel 97-2003 format (.xls), Excel 2007 format (.xlsx), CSV, LibreOffice/Open Office Calc (.ods) dan GNUmeric. Project PHPExcel ini dibuat dengan menggunakan standard Microsoft OpenXML dan PHP. PHPClass ini bersifat free dan open source. Anda dapat mengunduh sourcenya di http://phpexcel.codeplex.com. Ketika artikel ini ditulis, versi terbaru dari PHPExcel adalah PHPExcel 1.8.0

Setelah Anda mengunduh PHPExcel, dan mengekstrak filenya akan diperoleh 3 folder yaitu: Classes, Documentation dan Tests. Folder Classes ini berisi file class-class yang akan digunakan untuk mengolah spreadsheet, folder Documentation berisi file-file dokumentasi dari PHPExcel, dan folder Tests berisi contoh-contoh script PHP yang menggunakan PHPExcel.

Adapun cara instalasi PHPExcel nya cukup mudah, tinggal pindahkan folder hasil ekstrak ke direktori web Anda (seperti htdocs, atau www), khususnya folder ‘Class’. Untuk 2 folder yang lain boleh tidak dipindahkan ke direktori web. Untuk bisa menjalankan PHPExcel, versi PHP yang Anda gunakan minimal PHP 5.2.0.

Nah.. pada tutorial seri pertama ini saya akan menjelaskan bagaimana mengenerate file Excel atau istilahnya Workbook dengan PHPExcel ini. Di dalam sebuah workbook, bisa kita buat beberapa worksheet. Ini semua akan saya bahas di artikel ini.

Berikut ini contoh script untuk mengenerate file Excel dengan format Excel 97-2003 (.xls) dan membuat 2 buah sheet di dalamnya

<?php
require_once 'Classes/PHPExcel.php';

// membuat obyek dari class PHPExcel
$objPHPExcel = new PHPExcel();
// memberi nama sheet pertama dengan nama 'Sheet 1'
$objPHPExcel->getSheet(0)->setTitle('Sheet 1');

// Membuat sheet kedua dengan nama 'Sheet 2'
$myWorkSheet = new PHPExcel_Worksheet($objPHPExcel, 'Sheet 2');
$objPHPExcel->addSheet($myWorkSheet, 1);

// mengeset sheet 2 yang aktif
$objPHPExcel->setActiveSheetIndex(1);

// output file dengan nama file 'contoh.xls'
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="contoh.xls"');
header('Cache-Control: max-age=0');

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
?>

Perhatikan script di atas, untuk membuat sheet baru dalam workbook digunakan perintah ini

$myWorkSheet = new PHPExcel_Worksheet($objPHPExcel, 'nama sheet');
$objPHPExcel->addSheet($myWorkSheet, n);

dengan parameter ‘n’ adalah nomor urut index sheet, yang dimulai dari 0, 1, 2, …

PHPExcel secara otomatis akan mengenerate sheet ke-1, sehingga untuk membuat sheet pertama tidak perlu kita tuliskan perintah sbb

$myWorkSheet = new PHPExcel_Worksheet($objPHPExcel, 'Sheet 1');
$objPHPExcel->addSheet($myWorkSheet, 0);

akan tetapi cukup merename saja nama worksheet yang otomatis terbentuk dengan perintah

$objPHPExcel->getSheet(0)->setTitle('Sheet 1');

NB: parameter 0 pada getSheet(0) menunjukkan bahwa nama sheet yang akan diubah adalah sheet pertama atau sheet dengan nomor index ke-0.

Adapun perintah

$objPHPExcel->setActiveSheetIndex(1);

digunakan untuk mengeset worksheet aktif adalah sheet ke-2 atau worksheet yang berindex-1. Worksheet yang aktif adalah worksheet yang akan langsung muncul/tampil ketika file excel hasil generate dibuka.

Bagaimana dengan perintah

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');

Perintah di atas gunakan untuk mengatur jenis format file yang akan digenerate. Parameter ‘Excel5′ menunjukkan bahwa file yang akan digenerate berformat Excel 97-2003 (.xls). Anda dapat mengubah jenis format file yang lain sbb:
‘Excel2007′ untuk format Excel 2007 (.xlsx), ‘OOCalc’ untuk format Open Office Calc (.ods), ‘CSV’ untuk format CSV (.csv).

Sebagai latihan Anda bisa mengembangkan script di atas dengan menambahkan beberapa sheet baru dan memberi nama untuk masing-masing sheet kemudian anda generate ke beberapa jenis format dokumen. Insya Alloh dalam artikel berikutnya akan dibahas bagaimana menambahkan/meletakkan data ke dalam cell di worksheet. Selamat mencoba…


Kata kunci: export excel - phpexcel -


 

Komentar Anda ...