Akhirnya, setelah hampir satu tahun vakum bisa mulai lagi menulis blog tercinta ini. Nah teman-teman, hari ini Java Web Media akan memberikan tutorial membuat laporan dengan format Microsoft Excel dengan Codeigniter. Mari kita mulai yak.
Sebelum mengikuti tutorial ini, pastikan XAMPP sudah diinstall dan Apache serta MySQL sudah diaktifkan.
Mendownload Framework Codeigniter
Mari kita mulai melakukan instalasi.
- Silakan buka website Codeigniter di www.codeigniter.com.
- Pilih menu Download. Tunggu sampai proses download selesai
Installasi Framework
Langkah selanjutnya adalah melakukan instalasi framework:
- Buat folder “dasar_ci” di folder xampp/htdocs
- Extract file Codeigniter yang telah Anda download tadi
- Lalu Copy isi file-file framework Codeigniter tadi ke dalam folder “dasar_ci”
- Kemudian test dengan browser, buka alamat http://localhost/dasar_ci. Pastikan muncul seperti gambar di bawah ini.
Membuat database
Selanjut membuat database latihan. Yuk kita mulai.
- Buat database di PHPMyAdmin kalian ya. Dalam contoh ini databasenya adalah “dasar_ci”
- Lalu buat tabel dengan struktur di bawah ini.
CREATE TABLE IF NOT EXISTS `users` (
`id_user` int(11) NOT NULL AUTO_INCREMENT,
`nama` varchar(50) NOT NULL,
`username` varchar(20) NOT NULL,
`password` varchar(64) NOT NULL,
PRIMARY KEY (`id_user`),
UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
INSERT INTO `users` (`id_user`, `nama`, `username`, `password`) VALUES
(1, ‘Andoyo’, ‘andoyo’, ‘andoyo’),
(2, ‘Rayyan’, ‘rayyan’, ‘rayyan’),
(3, ‘Aria Nurdiana’, ‘aria’, ‘aria’),
(4, ‘Eflita Meiyetriani’, ‘eflita’, ‘eflita’); - Persiapan database DONE
Konfigurasi framework Codeigniter
Selanjutnya kita perlu melakukan konfigurasi Codeigniter.
Konfigurasi base_url()
Base URL adalah lokasi halaman web yang akan diakses
- Buka file config.php di folder dasar_ci/application/config
- Lakukan modifikasi kode $config[‘base_url’] = ”; menjadi
$config[‘base_url’] = ‘http://localhost/dasar_ci’; - Simpan file tersebut lalu tutup
Konfigurasi autoload
Autoload adalah konfigurasi untuk meload library-library, helper dan fungsi-fungsi lain yang akan loading saat website dibuka.
- Buka file autoload.php di folder dasar_ci/application/config
- Setting library yang akan diload. Silakan buka kode $autoload[‘libraries’] = array(); lalu lakukan perubahan menjadi:$autoload[‘libraries’] = array(‘database’,’form_validation’,’session’);
- Setting helper yang akan di-load. Buka kode $autoload[‘helper’] = array();. Lalu modifikasi menjadi:$autoload[‘helper’] = array(‘url’,’file’,’form’);
- Simpan file lalu tutup
Konfigurasi database
Selanjutnya setting database di framework Codeigniter.
- Buka file database.php di folder dasar_ci/application/config
- Cari kode di bawah ini:
'username' => '', 'password' => '', 'database' => '',
- Lalu lakukan perubahan menjadi
'username' => 'root', 'password' => '', 'database' => 'dasar_ci',
- Simpan file tersebut lalu tutup
Konfigurasi URL dengan .htaccess
Fungsinya untuk mempercantik URL misalnya dari http://localhost/dasar_ci/index.php/excel menjadi http://localhost/dasar_ci/excel.
- Buka Notepad
- Lalu ketik kode ini:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L]
- Kemudian simpan di folder dasar_ci dengan nama .htaccess (dengan tanda titik sebelum htaccess)
Membuat controller
Controller ini kita akan beri nama Excel.php. Terdiri atas dua fungsi utama, yaitu untuk menampilkan datanya dan mengeskpor data menjadi Excel.
- Buat file Excel.php di dalam folder application/controllers
- Ketik kode di bawah ini.
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Excel extends CI_Controller { // Load database public function __construct() { parent::__construct(); $this->load->model('user_model'); } public function index() { $data = array( 'title' => 'Data user', 'user' => $this->user_model->listing()); $this->load->view('excel',$data); } public function export_excel(){ $data = array( 'title' => 'Laporan Excel', 'user' => $this->user_model->listing()); $this->load->view('laporan_excel',$data); } } /* End of file Excel.php */ /* Location: ./application/controllers/Excel.php */
- Lalu simpan
Membuat model
Selanjut membuat model untuk menghandle database.
- Buat file User_model.php di folder application/models.
- Ketik kode ini
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class User_model extends CI_Model { public function __construct() { parent::__construct(); $this->load->database(); } // Listing public function listing() { $this->db->select('*'); $this->db->from('users'); $query = $this->db->get(); return $query->result(); } } /* End of file User_model.php */ /* Location: ./application/models/User_model.php */
- Lalu simpan
Membuat view
Akan ada dua view, yaitu view untuk menampilkan (excel.php dengan huruf kecil) dan laporan_excel.php.
View excel.php
- Buat file dengan nama excel.php di folder application/views
- Ketik kode ini
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title><?php echo $title ?></title> <style type="text/css"> body { background-color: green; font-family: Arial; } main { width: 80%; padding: 20px; background-color: white; min-height: 300px; border-radius: 5px; margin: 30px auto; } table { border-top: solid thin #000; border-collapse: collapse; } th, td { border-top: border-top: solid thin #000; padding: 6px 12px; } </style> </head> <body> <main> <h1>Laporan Excel</h1> <p><a href="<?php echo base_url('excel/export_excel') ?>">Export ke Excel</a></p> <table border="1" width="100%"> <thead> <tr> <th>Nama</th> <th>Username</th> <th>Password</th> </tr> </thead> <tbody> <?php $i=1; foreach($user as $user) { ?> <tr> <td><?php echo $user->nama ?></td> <td><?php echo $user->username ?></td> <td><?php echo $user->password ?></td> </tr> <?php $i++; } ?> </tbody> </table> </main> </body> </html>
- Simpan.
Membuat view untuk export ke excel
View ini sebagai template untuk export excel.
- Buat file laporan_excel.php di folder application/views
- Ketik kode ini
<?php header("Content-type: application/octet-stream"); header("Content-Disposition: attachment; filename=$title.xls"); header("Pragma: no-cache"); header("Expires: 0"); ?> <table border="1" width="100%"> <thead> <tr> <th>Nama</th> <th>Username</th> <th>Password</th> </tr> </thead> <tbody> <?php $i=1; foreach($user as $user) { ?> <tr> <td><?php echo $user->nama ?></td> <td><?php echo $user->username ?></td> <td><?php echo $user->password ?></td> </tr> <?php $i++; } ?> </tbody> </table>
- Simpan file tersebut
Mengetes hasil kode
Untuk mengetestnya, berikut langkahnya:
- Buka browser, lalu akses alamat http://localhost/dasar_ci/excel
- Untuk export ke excel, klik link Export ke Excel. Maka file excel akan otomatis terdownload.
Akhirnya selesai juga. Selamat mencoba.
Materi lebih advanced: Untuk materi lebih dalam Anda bisa mengikuti kursus di Java Web Media yak.
thanks…buat belaajar ci ke xls
pasang iklan gratis
http://www.adsentral.com
terima kasih atas penjelasan artikelnya
Kalau membuat laporan ini menjadi multi sheet gemana Pak..?
tau caranya buat bikin multiple spreedsheet gak ?
kalau menyisipkan image pada laporan excel itu gmn bang ?