Bagaimana cara mengenerate file .xls (Ms Excel) menggunakan bahasa pemrograman PHP Rekan2 pernah coba membuat sebuah file di PHP yang bisa mengenerate file .xls (Ms Excel)? <?php Letakkan script header tersebut didalam file php yang anda buat, letakkan script tersebut di baris paling atas script anda, sehingga ketika anda run file PHP tersebut akan menghasilkan file .xls Selamat Mencoba ! Kali ini saya akan melanjutkan catatan-catatan saya mengenai Framework Codeigniter. Saya akan coba share catatan / tutorial mengenai cara membuat export data ke excel (laporan excel) tanpa plugin dengan framework codeigniter 3 (versi 3). Tentunya semua hal ada kelebihan dan kelemahananya. Jika kalian membuat export ke excel tanpa plugin, kalian akan kesulitan ketika akan melakukan kustomisasi terhadap cell/kolom di excel nya. Tapi cara ini cukup ampuh bagi kalian yang dikejar sama deadline kerjaan atau pun kalian yang sedang diburu-buru oleh dosen pembimbing kalian haha. Oke langsung ikuti langkah-langkah nya berikut ini. DEMO STEP 1 – INSTALASI
STEP 2 – BUAT DATABASE CREATE TABLE `siswa` ( `nis` varchar(11) NOT NULL PRIMARY KEY, `nama` varchar(50) NOT NULL, `jenis_kelamin` varchar(10) NOT NULL, `alamat` text NOT NULL ) STEP 3 –
KONFIGURASI
STEP 4 – BUAT MODEL <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class SiswaModel extends CI_Model { public function view(){ return $this->db->get('siswa')->result(); // Tampilkan semua data yang ada di tabel siswa } } Pada kode diatas, kita membuat sebuah fungsi view(). dimana didalamnya terdapat kode return $this->db->get(‘siswa’)->result(). Kode tersebut berfungsi untuk menampilkan semua data pada tabel siswa. Struktur dasar penulisannya seperti ini : return $this->db->get(‘nama_tabel‘)->result(). Lalu pada kode diatas juga ada kode return, kode tersebut digunakan untuk mengeluarkan hasil dari sebuah fungsi. Pada kasus diatas, hasil yang dikeluarkan oleh return yaitu data-data siswa. STEP 5 – BUAT CONTROLLER <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Siswa extends CI_Controller { public function __construct(){ parent::__construct(); $this->load->model('SiswaModel'); } public function index(){ $data['siswa'] = $this->SiswaModel->view(); $this->load->view('view', $data); } public function export(){ // Skrip berikut ini adalah skrip yang bertugas untuk meng-export data tadi ke excel header("Content-type: application/vnd-ms-excel"); header("Content-Disposition: attachment; filename=Data_Siswa.xls"); $data['siswa'] = $this->SiswaModel->view(); $this->load->view('export', $data); } } Pada controller ini, kita membuat 3 fungsi. fungsi pertama yaitu public function __construct(){, fungsi ini berfungsi untuk menjalankan suatu aksi ketika controller main diload. Didalam fungsi ini, terdapat kode $this->load->model(‘SiswaModel’);, kode tersebut berfungsi untuk memuat (meload) model siswa (yang pada step sebelumnya kita buat) agar kita bisa mengakses fungsi-fungsi yang ada didalam model tersebut. Fungsi yang kedua yaitu public function index(). Dalam fungsi ini ada kode $data[‘siswa’] = $this->SiswaModel->view();, kode tersebut digunakan untuk mengambil hasil query sql dari fungsi view() yang ada pada model siswa (SiswaModel.php) lalu memasukannya ke dalam array data dengan index siswa ($data[‘siswa’]). Pada fungsi index() ini juga, terdapat kode $this->load->view(‘view’, $data);. Kode tersebut berfungsi untuk memuat (meload) file view.php (file ini akan kita buat pada step selanjutnya) dan mengirimkan array data ($data) tadi ke file tersebut. Inti dari kode untuk export excel nya hanya ada 2 baris kode. Berikut ini kodenya : Yang saya beri warna merah bisa kalian ganti dengan nama file excel yang kalian inginkan. STEP 6 –
BUAT VIEW <h2>Data Siswa</h2><hr> <a href="<?php echo base_url("index.php/siswa/export"); ?>">Export ke Excel</a><br><br> <table border="1" cellpadding="8"> <tr> <th>NIS</th> <th>Nama</th> <th>Jenis Kelamin</th> <th>Alamat</th> </tr> <?php if( ! empty($siswa)){ // Jika data pada database tidak sama dengan empty (alias ada datanya) foreach($siswa as $data){ // Lakukan looping pada variabel siswa dari controller echo "<tr>"; echo "<td>".$data->nis."</td>"; echo "<td>".$data->nama."</td>"; echo "<td>".$data->jenis_kelamin."</td>"; echo "<td>".$data->alamat."</td>"; echo "</tr>"; } }else{ // Jika data tidak ada echo "<tr><td colspan='4'>Data tidak ada</td></tr>"; } ?> </table> Pada kode diatas terdapat kode foreach($siswa as $data){, kode tersebut akan manampilkan satu per satu data siswa sampai data siswa yang terakhir. STEP 7 – BUAT FILE EXPORT <h4>Data Siswa</h4> <table border="1" cellpadding="8"> <tr> <th>NIS</th> <th>Nama</th> <th>Jenis Kelamin</th> <th>Alamat</th> </tr> <?php if( ! empty($siswa)){ // Jika data pada database tidak sama dengan empty (alias ada datanya) foreach($siswa as $data){ // Lakukan looping pada variabel siswa dari controller echo "<tr>"; echo "<td>".$data->nis."</td>"; echo "<td>".$data->nama."</td>"; echo "<td>".$data->jenis_kelamin."</td>"; echo "<td>".$data->alamat."</td>"; echo "</tr>"; } }else{ // Jika data tidak ada echo "<tr><td colspan='4'>Data tidak ada</td></tr>"; } ?> </table> Mungkin sekian untuk catatan kali ini. Semoga bisa bermanfaat. Jika ada yang kurang dipahami, langsung tanyakan pada form komentar dibawah ini. Jangan lupa LIKE dan SHARE nya, Terimakasih banyak. Happy Coding ^_^ SOURCE CODE SUMBER & REFERENSI Export Excel(Total : 5,131 viewers, 1 viewers today) |