Dalam mengembangkan aplikasi perusahaan, kita pasti menjumpai sejumlah master data misalnya tabel pelanggan. Berkaitan dengan master data, kita mungkin memiliki kebutuhan untuk mengekspor data tersebut ke spreadsheet misalnya Microsoft Excel untuk diolah lebih lanjut. Berkaitan dengan pembuatan aplikasi menggunakan framework Yii kita dapat menggunakan PHPExcel untuk membuat dokumen xls maupun xlsx.

Kita dapat mengunjungi website PHPExcel di http://phpexcel.codeplex.com/ . Kemudian untuk programnya kita dapat mengunjungi di https://github.com/PHPOffice/PHPExcel. Berikut ini akan disajikan setup PHPExcel pada Yii 1.  Versi PHP Excel pada saat artikel ini ditulis adalah PHPExcel 1.8.0 dan versi Yii pada saat artikel ini ditulis adalah Yii 1.1.17.

Langkah-langkah setup PHPExcel pada Yii adalah

  1. Download programnya yang ada di https://github.com/PHPOffice/PHPExcel dan hasil downloadnya adalah sebuah file zip seperti contoh di bawah ini:

    Pada tampilan di atas kita berhasil mendownload program PHPExcel-1.8.zip dan kemudian diekstrak menjadi folder PHPExcel-1.8
      
  2. Setelah kita ekstrak perhatikan folder Classes seperti gambar di bawah ini:

      
  3. Kita copy file PHPExcel.php dan folder PHPExcel (lihat gambar atas) ke folder ./protected/extensions dalam program Yii kita seperti contoh berikut ini:

      
  4. Berikut contoh source code yang kita masukkan ke dalam salah satu models:
        public static function exportXls()
        {
            $objPHPExcel=Yii::createComponent(‘application.extensions.PHPExcel’);
            $objPHPExcel->setActiveSheetIndex(0)
                        ->setCellValue(‘A1’, ‘Ini di A No 1 ya’)
                        ->setCellValue(‘B2’, ‘kalau ini B 2’)
                        ->setCellValue(‘C1’, ‘Ini di C1’)
                        ->setCellValue(‘D2’, ‘Terakhir di D 2’);
            // Redirect output to a client’s web browser (Excel2007)
            header(‘Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet’);
            header(‘Content-Disposition: attachment;filename=”contohkita.xlsx”‘);
            header(‘Cache-Control: max-age=0’);
            // If you’re serving to IE 9, then the following may be needed
            header(‘Cache-Control: max-age=1’);

            // If you’re serving to IE over SSL, then the following may be needed
            header (‘Expires: Mon, 26 Jul 1997 05:00:00 GMT’); // Date in the past
            header (‘Last-Modified: ‘.gmdate(‘D, d M Y H:i:s’).’ GMT’); // always modified
            header (‘Cache-Control: cache, must-revalidate’); // HTTP/1.1
            header (‘Pragma: public’); // HTTP/1.0

            $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, ‘Excel2007’);
            $objWriter->save(‘php://output’);
            unset($objPHPExcel);
        }
       

  5. Jika kita akses melalui controller maka hasilnya adalah seperti contoh berikut ini:

      

  6. Dan kalau kita buka dengan Microsoft Excel hasilnya adalah seperti gambar berikut ini:

Berkaitan dengan dokumentasi :

  1. Silahkan mengunjungi https://github.com/PHPOffice/PHPExcel/wiki/User%20Documentation .
     
  2. Kita juga dapat mempelajari dokumentasinya secara offline di folder documentation seperti gambar berikut ini:

     
  3. Untuk contoh-contohnya kita juga dapat mempelajari di laptop kita pada folder Examples seperti gambar di bawah ini:

Kunjungi www.proweb.co.id untuk menambah wawasan anda.