Categories
PHP

Export dari Database ke File Excel dalam CodeIgniter

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 […]

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,
    [sourcecode language=”php”]
    <?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);
    }
    }
    ?>[/sourcecode]
  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,
    [sourcecode language=”php”]
    <?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;
    }
    }
    ?>
    [/sourcecode]
  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,
    [sourcecode language=”php”]
    <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>
    [/sourcecode]
  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,
    [sourcecode language=”php”]
    <?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>
    [/sourcecode]
  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 πŸ™‚

By littleflow3r

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 loves to satisfied her shopping hobbies just via looking around in online shop. oh yeah, she got an A for her english subject^^

24 replies on “Export dari Database ke File Excel dalam CodeIgniter”

Mas, kalau pas setelah di export itu error di $item nya itu krn apa? tulisan nya sih ‘Undefined Variable : $item’ coba solusi nya ya mas

mas, klo export excel nya dari perintah ‘select option’ diawal itu bisa kah?
jadi isi excel nya sesuai dengan isian yang sesuai dengan pilihan yg kita pilih.

gan punyaq muncul kesalahn kaya gini….

Severity: Notice

Message: Undefined variable: item

Filename: core/Loader.php(679) : eval()’d code

Line Number: 17

“thx infonya…
udah aq coba, tp klo record berisi (misal) 9223372036854775807 ato number lebih dari 15 digit, di excel jadinya 9.22337E+18 dan klo aq ganti ke text/lainnya malah berubah sm yg di dB.
mohon pencerahannya
thx”

samaaa…mhon pencerahannya… (funkydance)

thx infonya…
udah aq coba, tp klo record berisi (misal) 9223372036854775807 ato number lebih dari 15 digit, di excel jadinya 9.22337E+18 dan klo aq ganti ke text/lainnya malah berubah sm yg di dB.
mohon pencerahannya πŸ˜€
thx

kalo misalnya tampilan yg udah jadi di web..trus upload ke excel bisa? jadi sumber’a bkn dari database tapi dari tampilan view web’a?

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

This site uses Akismet to reduce spam. Learn how your comment data is processed.