Studi Kasus : Melakukan Export data dari Database (Mysql) ke file Excel dalam CodeIgniter

Requirements : Webserver Package, already installed. CodeIgniter.

Export data sangat dibutuhkan apabila kita mendevelop aplikasi, terutama untuk aplikasi perkantoran. Sebagian besar perkantoran masih menggunakan excel untuk memanage data mereka, karena excel memang salah satu aplikasi paling awal yang digunakan untuk memanajemen data perkantoran.

Step 1 : Konfigurasi CI

  1. Buka file config.php yang berada dalam folder system-application-config-config.php
  2. Ubah base url, sesuaikan dengan lokasi dimana folder CI-mu berada (tempat ekstrak-an tadi). Contoh : Folder CI anda berada dalam folder www/ci
    maka ubah baris $config['base_url']="http://example.com/";
    dengan
    $config['base_url'] = "http://localhost/ci/";
  3. Setting database. Buka file database.php yang berada dalam folder yang sama dengan config.php. Ubah hostname, username, password, dan nama database. Sesuaikan dengan pengaturan mysql anda. Contoh :
    $db['default']['hostname'] = "localhost";
    $db['default']['username'] = "root";
    $db['default']['password'] = "";
    $db['default']['database'] = "db_tutorial";

Step 2 : Siapkan Database

  1. Buat database dengan nama db_tutorial (via phpmyadmin)
  2. Siapkan tabel dengan nama tb_book (untuk strukturnya, lihat gambar dibawah ini)
  3. Insertkan beberapa sample data, sebagai contoh insertkan data seperti tabel dibawah ini.
  4. Ok, we’re done with database !

Step 3 : Membuat Controller

  1. Ketikkan script berikut,
    <?php
    class Buku_con extends Controller {
    public function Buku_con() {
    parent::__construct();
    $this->load->model('buku_model');//load the model
    $this->load->library('pagination');	
    }
    //function to get the data from tb_book
    function getBuku() {
    $data['title'] = 'menampilkan isi buku';
    $data['detail'] = $this->buku_model->getBuku();//call the model and save the result in $detail
    $this->load->view('buku_view', $data);
    }
    //function to export to excel
    function toExcelAll() {
    $query['data1'] = $this->buku_model->ToExcelAll(); 
    $this->load->view('excel_view',$query);
    }
    }
    ?>
  2. Simpan dengan nama buku_con dalam folder system-application-controllers
  3. Penjelasan :Lihat di komen script.

Step 4 : Membuat Model

  1. Ketikkan script berikut,
    <?php
    class Buku_model extends Model {
    function Buku_model() {
    parent::Model();
    }
    function getBuku() {
    $this->db->select('*');
    $this->db->from('tb_book');
    $this->db->order_by('id','DESC');
    $getData = $this->db->get();
    if($getData->num_rows() > 0)
    return $getData->result_array();
    else
    return null;
    }
    //query for get all data
    function toExcelAll() {
    $this->db->select('*');
    $this->db->from('tb_book');
    $this->db->order_by('id','desc');
    $getData = $this->db->get();
    if($getData->num_rows() > 0)
    return $getData->result_array();
    else
    return null;
    }
    }
    ?>
    
  2. Simpan dalam folder system-application-models, dengan nama buku_model.php

Step 5 : Membuat View (yang menampilkan link untuk export)

  1. Ketikkan script berikut,
    <h4>Book Data</h4>
    <?php if(count($detail) > 0) { ?>
    <table border="1">
    <tr>
    <th>ID</th>
    <th>Title</th>
    <th>Author</th>
    </tr>						
    <?php
    foreach($detail as $rows) {		
    echo "<tr>";
    echo "
    <td>".  $rows['id']."</td>
    <td>". $rows['title'] ."</td>
    <td>". $rows['author'] ."</td>
    "; } ?>
    </table>
    <?php } ?>
    <br> <br>
    <a href='toExcelAll'><span style='color:green;'>Export All Data</span></a>
    
  2. Simpan dalam folder system-application-views, dengan nama buku_view.php
  3. Penjelasan : $detail didapatkan dari controller, variabel ini berisi data dari tb_book (hasil dari model). Kemudian data ditampilkan dalam bentuk arrays.

Step 6 : Membuat View (view untuk menconvert ke excel)

  1. Ketikkan script berikut,
    <?php 
    header("Content-type: application/octet-stream");
    header("Content-Disposition: attachment; filename=exceldata.xls");
    header("Pragma: no-cache");
    header("Expires: 0");
    ?>
    <table border='1' width="70%">
    <tr>
    <td>ID</td>
    <td>TITLE</td>
    <td>AUTHOR</td>
    </tr>
    <?
    foreach($data1 as $item) {
    ?>
    <tr>
    <td><?=$item['id']?></td>
    <td><?=$item['title']?></td>
    <td><?=$item['author']?></td>
    </tr>
    <? } ?>
    </table>
    
  2. Simpan dalam folder system-application-views, dengan nama excel_view.php

Step 7 : Testing Code

  1. Buka browser, pergi ke http://localhost/namaFolderCIKamu/buku_con/getBuku
  2. Anda akan melihat tampilan seperti berikut,
  3. Klik pada link Export to excell, maka browser akan otomatis mendownload file excel,
  4. Buka file excel yang telah di download, maka data dari tb_book akan ditampilkan :)

Silahkan mencoba :) Happy Coding :)
Hal yang juga menarik:

Hak Cipta

Semua skrip dan teknik dalam artikel di itx.web.id boleh digunakan sebagaimana kehendakmu tanpa perlu mencantumkan sumber. Kamu tidak boleh mengkopi seluruh artikel, dalam Bahasa Indonesia ataupun diterjemahkan ke dalam bahasa lain.

This post is also available in: English


Related Articles:

: PHP

About the author

obviously, a girl. with sweet smile, off course. turning her 21 years trapped on Informatics departement and just started to having some crush with it lately. she uses wordpress. she loves php. she lo

17 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

خرید vpn خرید vpn دانلود آهنگ