Advertisement
kangjaz

controller_export

Nov 2nd, 2018 (edited)
1,875
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.36 KB | None | 0 0
  1. <?php
  2. defined('BASEPATH') or exit('No direct script access allowed');
  3.  
  4. //load Spout Library
  5. require_once APPPATH . 'third_party/spout/src/Spout/Autoloader/autoload.php';
  6.  
  7. use Box\Spout\Writer\Common\Creator\WriterEntityFactory;
  8. use Box\Spout\Common\Entity\Row;
  9.  
  10. class Export extends CI_Controller
  11. {
  12.  
  13.     function __construct()
  14.     {
  15.         parent::__construct();
  16.         //load model
  17.         $this->load->model('app');
  18.     }
  19.  
  20.     public function index()
  21.     {
  22.         $this->load->view('export');
  23.     }
  24.  
  25.     public function export_data()
  26.     {
  27.         //ambil data
  28.         $get    = $this->app->getAll();
  29.  
  30.         //validasi jumlah data
  31.         if ($get->num_rows() > 0) {
  32.             $writer = WriterEntityFactory::createXLSXWriter();
  33.  
  34.             $writer->openToBrowser("data_anggota.xlsx");
  35.             //silahkan sobat sesuaikan dengan data yang ingin sobat tampilkan
  36.             $header = [
  37.                 WriterEntityFactory::createCell('No'),
  38.                 WriterEntityFactory::createCell('Nama'),
  39.                 WriterEntityFactory::createCell('Jenis Kelamin'),
  40.                 WriterEntityFactory::createCell('Alamat')
  41.             ];
  42.             /** Tambah row satu kali untuk header */
  43.             $singleRow = WriterEntityFactory::createRow($header);
  44.             $writer->addRow($singleRow); //tambah row untuk header data
  45.  
  46.             $data   = array(); //siapkan variabel array untuk menampung data
  47.             $no     = 1;
  48.  
  49.             //looping pembacaan data
  50.             foreach ($get->result() as $key) {
  51.                 //masukkan data dari database ke variabel array
  52.                 //silahkan sobat sesuaikan dengan nama field pada tabel database
  53.                 $anggota    = array(
  54.                     WriterEntityFactory::createCell($no++),
  55.                     WriterEntityFactory::createCell($key->nama),
  56.                     WriterEntityFactory::createCell($key->jenis_kelamin),
  57.                     WriterEntityFactory::createCell($key->alamat)
  58.                 );
  59.  
  60.                 array_push($data, WriterEntityFactory::createRow($anggota)); //masukkan variabel array anggota ke variabel array data
  61.             }
  62.  
  63.             $writer->addRows($data); // tambahkan row untuk data anggota
  64.  
  65.             $writer->close(); //tutup spout writer
  66.         } else {
  67.             echo "Data tidak ditemukan";
  68.         }
  69.     }
  70. }
  71.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement