Export data ke Excel (XLS bukan CSV)
Buat yang belum tau, mungkin plugin yang dibawah ini bisa berguna. Plugin ToExcel ini menkonversi data dari hasil query ke dalam bentuk XLS bukan CSV. Jadi mungkin sangat cocok untuk berbagai macam bentuk laporan atau ekspor data.
Kode lengkap plugin ini adalah sebagai berikut
< ?php if (!defined('BASEPATH')) exit('No direct script access allowed');
function to_excel($query, $filename='xlsoutput')
{
$headers = ''; // variable untuk menampung header
$data = ''; // variable untuk menampung data
$obj =& get_instance();
$fields = $query->field_data();
if ($query->num_rows() == 0) {
echo '
The table appears to have no data.
';
} else {
foreach ($fields as $field) {
$headers .= $field->name . "\t";
}
foreach ($query->result() as $row) {
$line = '';
foreach($row as $value) {
if ((!isset($value)) OR ($value == "")) {
$value = "\t";
} else {
$value = str_replace('"', '""', $value);
$value = '"' . $value . '"' . "\t";
}
$line .= $value;
}
$data .= trim($line)."\n";
}
$data = str_replace("\r","",$data);
header("Content-type: application/x-msdownload");
header("Content-Disposition: attachment; filename=$filename.xls");
echo "$headers\n$data";
}
}
?>
contoh penggunaanya sebagai berikut :
$this->load->plugin('to_excel');
$this->db->use_table('tablename');
$this->db->select('field1', 'field2');
$query = $this->db->get();
to_excel($query, ['namafile']); // nama file tidak wajib, bila tidak diisi akan menggunakan nama file default 'xlsoutput'
semoga berguna.
wassalam
sumber : codeigniter.com/wiki/Excel_Plugin/





