Kontak Me

Blog Vitals

Blog Stats
Google Page Rank
1,580,245
48
123
4

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/

  • No Related Post

8 comments to Export data ke Excel (XLS bukan CSV)

  • ians

    wah ini yg dicari,TAPI…..
    gimana cara penggunaannya tuh?
    bisa kasih detailnya?

    bales yah…..

    terima kasih

  • hallo.

    mas nya tulis pluginnya, trus taruh file nya di folder plugin nya CI.

    trus. pluginnya di load, seperti contoh, di class controller mas.

    beres deh

    wassalam

  • mas yang baik hati kasih dong file yang bisa di download jadi bisa buat coba-coba, iyah kalo cuma kayak diatas otak saya belum nyambung…

  • ada error gimana ???
    A PHP Error was encountered

    Severity: Warning

    Message: Cannot modify header information – headers already sent by (output started at C:\xampp\htdocs\koperasi1\system\plugins\to_excel_pi.php:38)

    Filename: plugins/to_excel_pi.php

    Line Number: 33
    A PHP Error was encountered

    Severity: Warning

    Message: Cannot modify header information – headers already sent by (output started at C:\xampp\htdocs\koperasi1\system\plugins\to_excel_pi.php:38)

    Filename: plugins/to_excel_pi.php

    Line Number: 34

  • itu artinya…
    skrip nya ada yang menghasilkan output sebelum perintah header dipanggil .
    dalam hal ini , sebelum perintah to_excel.

  • Bayuaji Sukabumi

    Pusing-pusing amat sih om, mo export data ke Excel pake PHP juga, nih aku kasih hasil googling yg mantebbbzzzz :

    function cleanData(&$str) { $str = preg_replace(”/\t/”, “\\t”, $str); $str = preg_replace(”/\n/”, “\\n”, $str); }
    # file name for download
    $filename = “website_data_” . date(’Ymd’) . “.xls”;
    header(”Content-Disposition: attachment; filename=\”$filename\”");
    header(”Content-Type: application/vnd.ms-excel”);
    $flag = false;
    $result = mysql_query(”SELECT * FROM t_pasien ORDER BY no_medrec”) or die(’Query failed!’);
    while(false !== ($row = mysql_fetch_assoc($result))) {
    if(!$flag)
    {
    # display field/column names as first row
    echo implode(”\t”, array_keys($row)) . “\n”;
    $flag = true; } array_walk($row, ‘cleanData’);
    echo implode(”\t”, array_values($row)) . “\n”;
    }

  • suke

    Bayuaji- Sukabumi
    Thanks banget bro, code yang lo kasi memang mantab banget, bgtu di coba langsung mau, gk ada error dn simple banget….!!!!
    Temen2 yang mau export dari mysql(phpmyadmin) ke excel pake php, silakan coba code dari Bayu aja…!!!
    Thanks…

  • suke

    ngomng2 ada code untuk import dari excel ke mysql gk??
    yang pake php ya…. thanks bagi yang jawab…!!!

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>