Initekno.com – Kurang lengkap rasanya jika saya tidak membahas teknik pelaporan data dengan excel. Salah satu indikator keberhasilan program baik itu berbasis desktop base maupun web base, salah satunya dengan adanya teknik penanganan laporan yang baik. Pelaporan bisa banyak macamnya dari mulai menggunakan teknik pdf, excel maupun dalam bentuk diagram batang.
Tapi kali ini saya tidak akan membahas semua teknik pelaporan itu. Karena itu akan menjadikan artikel ini malah semakin rumit. Teknik pelaporan yang saya gunakan disini adalah teknik konversi ke excel. Dimana data dari database akan kita ubah dalam bentuk data excel, tentunya dengan bantuan PHPExcel.
Daftar Isi
Anda Harus Berkenalan Dulu
seorang programmer sebuah sistem harus memperhatikan laporan program yang dia bikin. karena program nantinya akan menghasilkan informasi berupa print out. Dari sini kita garis bawahi bahwa aplikasi website yang nantinya akan kita buat wajib mempunyai fitur Expor dara dari excel.
Fitur exspor data dari excel ke tabel telah banyak di gunakan di aplikasi website pemerintahan maupun pendidikan. Dimana untuk pengesahan data dari atasan kalian harus melakukan print out dalam bentuk fisik.
Komponen Tambahan
Tahukah anda bahwa untuk membuat laporan dengan PHPexcel kadang saya sendiri suka bingung harus mulai dari mana, dan tutorial yang beredar di internet kadang ada sedikit masalah. Begitu dapat materinya, ternyata menggunakan konsep MVC. Dulu saya ketika ingin mencari referensi ini sulitnya minta ampun. begitu dapat tiba tiba code error. program tidak jalan. disini saya akan menggunakan library PHPExcel, dimana library ini sangat ampuh untuk membuat sebuah laporan berupa excel baik import maupun export.
Download PHP Excel
Konfigurasi
silahkan download terlebh dahulu PHPExcel. Extrak filenya dan masukkan kedalam aplikasi website kamu. letakkan pada direktori application/libraries pada folder root codeigniter. Hasilnya anda akan mendapatkan sebuah folder PHPExcel dan file PHPExcel.php
Buatlah file baru berisi kode seperti dibawah ini, kemudian simpan dalam ditektori application/libraries. Beri nama filenya dengan excel.php
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); require_once('PHPExcel.php'); class Excel extends PHPExcel { public function __construct() { parent::__construct(); } } ?> |
Kemudian tambahkan lagi file baru, dan masih di folder yang sama, yaitu libraries. Simpan dan beri nama dengan IOFactory.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php if (!defined('BASEPATH')) exit('No direct script access allowed'); require_once('PHPExcel/IOFactory.php'); class IOFactory extends PHPExcel_IOFactory { public function __construct() { parent::__construct(); } } ?> |
Kedua file diatas adalah penunjang untuk penanganan error dari komponen PHPExcel. Tetapi pastikan lagi anda sudah download PHPExcel dan meletakkannya dalam folder application/libraries. Jika itu belum anda lakukan maka sudah pasti kode akan error.
Bagian Controllers
Sekarang coba fokus pada controllers bank_akun.php pada modul bank_akun. Disini modul ini sudah saya buat caranya di artikel sebelumnya. Tambahkan method laporan_konfirm_bayarexcel tulis kode lengkapnya di bawah ini.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
//fungsi untuk cetak laporan excel public function laporan_konfirm_bayarexcel() { $object = new PHPExcel(); $object->setActiveSheetIndex(0); $table_columns = array("TGL BAYAR", "NO.INVOICE", "NAMA PEMESAN", "JUMLAH BAYAR", "BANK TUJUAN","NAMA REKENING PENGIRIM","EMAIL","NOTELPON","PESAN TAMBAHAN"); $column = 0; foreach($table_columns as $field) { $object->getActiveSheet()->setCellValueByColumnAndRow($column, 1, $field); $column++; } $employee_data = $this->m_admin_konfirmasi->fetch_data(); $excel_row = 2; foreach($employee_data as $row) { $object->getActiveSheet()->setCellValueByColumnAndRow(0, $excel_row, $row->tgl_bayar); $object->getActiveSheet()->setCellValueByColumnAndRow(1, $excel_row, $row->invoice); $object->getActiveSheet()->setCellValueByColumnAndRow(2, $excel_row, $row->nama_pemesan); $object->getActiveSheet()->setCellValueByColumnAndRow(3, $excel_row, $row->jml_bayar); $object->getActiveSheet()->setCellValueByColumnAndRow(4, $excel_row, $row->bank_tujuan); $object->getActiveSheet()->setCellValueByColumnAndRow(5, $excel_row, $row->nama_rekening_kirim); $object->getActiveSheet()->setCellValueByColumnAndRow(6, $excel_row, $row->email); $object->getActiveSheet()->setCellValueByColumnAndRow(7, $excel_row, $row->notelpon); $object->getActiveSheet()->setCellValueByColumnAndRow(8, $excel_row, $row->deskripsi); $excel_row++; } $object_writer = PHPExcel_IOFactory::createWriter($object, 'Excel5'); header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="Data Konfirmasi Pembayaran.xls"'); $object_writer->save('php://output'); } |
Bagian Models
Pada sisi hubungan database saya akan menambahkan method fetch_data method ini akan menangani quey pemanggilan data pada tabel trovi_konfirmpayment. Kemudian akan di konversi kedalam bentuk excel dengan bantuan PHPExel.
1 2 3 4 5 6 |
public function fetch_data() { $this->db->order_by("id_konfirm", "DESC"); $query = $this->db->get("trovi_konfirmpayment"); return $query->result(); } |
Kesimpulan
Dengan PHPExcel masalah untuk pelaporan sudah teratasi. Sekarang tinggal bagaimana kalian mengatur layout untuk hasil pelaporan yang diinginkan oleh atasan anda. Semoga artikel ini bermanfaat.
Tinggalkan Balasan