Cara menggunakan phpexcel bold

Temui aku lagi. Pada kesempatan kali ini saya akan mencoba membagikan catatan saya tentang export data dari database ke excel. Hampir setiap aplikasi web membutuhkan sesuatu yang disebut fitur Laporan. Biasanya laporan menggunakan PDF atau Excel. Nah untuk postingan kali ini kita akan membuat excel report (ekspor data ke excel). Pada postingan kali ini, kita menggunakan plugin yang sudah lama dan banyak digunakan yaitu PHPExcel. Menurut saya, plugin ini benar-benar plugin yang sangat lengkap dan dokumentasinya juga lengkap dan mudah dipahami (untuk dokumentasinya sudah saya lampirkan linknya di akhir postingan ini). Oke, sekarang kita langsung ke step by step untuk melakukannya. Oh iya disini kita juga menggunakan Framework Codeigniter 3 (versi 3)


PENTING, HARAP BACA TERLEBIH DAHULU
Tutorial ini menggunakan library PHPExcel untuk proses export excel. Perpustakaan ini sejauh yang saya tahu dan saya telah menguji bahwa itu hanya mendukung PHP Versi 7. 2. 8. Jadi bagi anda yang menggunakan PHP Versi diatas 7. 2. 8, sebaiknya downgrade dulu atau download Xampp yang PHPnya masih versi 7. 2. 8 dan di bawah. Jika Anda ingin melihat tutorial untuk PHP 7. 2. 8 ke atas, silahkan buka tutorial berikut

Tutorial Impor Data dari Excel untuk PHP 7. 2. 8 dan di atas
Cara Export Excel dengan Codeigniter dan PhpSpreadsheet

Berikut adalah link download untuk Xampp Versi 7. 2. 8

  • Unduh Xampp PHP7. 2. 8 (Jendela)
  • Unduh Xampp PHP7. 2. 8 (Linux)
  • Unduh Xampp PHP7. 2. 8 (MacOS X)

DEMO
Sebelum membaca tutorialnya, mungkin ada yang ingin melihat demonya terlebih dahulu. Klik link berikut untuk melihat demonya. Lihat Demo


LANGKAH 1 – INSTALASI
Pada tahap ini kami akan menyiapkan hal-hal yang diperlukan

  1. Download Codeigniter Framework, klik link berikut. unduh
  2. Download plugin PHPExcel, klik link berikut. Unduh
  3. Buat folder dengan nama export_phpexcel_ci , lalu simpan ke folder xampp/htdocs/ .
  4. Salin dan tempel file codeigniter_v3. 7z yang sudah didownload tadi ke folder xampp/htdocs/export_phpexcel_ci .
  5. Ekstrak file codeigniter_v3. Ini 7z .
  6. Ekstrak file PHPExcel. 7z yang sudah didownload tadi, lalu copy paste folder PHPExcel ke xampp/htdocs/export_phpexcel_ci/application/third_party/ .

LANGKAH 2 – BUAT DATABASE
Buat database dengan nama mynotescode , lalu buat tabel siswa dengan struktur tabel seperti berikut ini :

Cara menggunakan phpexcel bold

CREATE TABLE `siswa` (
  `nis` varchar(11) NOT NULL PRIMARY KEY,
  `nama` varchar(50) NOT NULL,
  `jenis_kelamin` varchar(10) NOT NULL,
  `alamat` text NOT NULL
)

LANGKAH 3 – KONFIGURASI
Karena dibuat dengan Codeigniter, kita harus mengkonfigurasi framework codeigniter terlebih dahulu

Baca Juga

  • Tutorial Codeigniter Indonesia Lengkap Plus Source Code
  • Tutorial PHP Bahasa Indonesia Lengkap Plus Source Code
  • Cara mudah membuat Pagination dengan PHP dan MySQL
  • Cara Menambahkan Serial Number ke JQuery Datatables dengan PHP

  1. Buka folder xampp/htdocs/export_phpexcel_ci/application/config/
  2. Buka file config. php
    Temukan kode berikut
    $config['base_url'] = 'http://localhost/export_phpexcel_ci';
    _1Ubah kode tersebut sehingga menjadi seperti ini.
    $config['base_url'] = 'http://localhost/export_phpexcel_ci';
    _

    Kode di atas digunakan untuk mengatur baseurl
    Kemudian simpan file tersebut

  3. Buka file muat otomatis. php
    Temukan kode berikut.
    $autoload['libraries'] = array();
    $autoload['helper'] = array();

    Ubah seperti ini

    $autoload['libraries'] = array('database');
    $autoload['helper'] = array('url');
    _

    Kode di atas digunakan untuk memuat database kelas dan url
    Kemudian simpan file tersebut

  4. Buka file rute. php
    Temukan kode berikut.
    $route['default_controller'] = 'welcome';

    Ubah seperti ini

    $route['default_controller'] = 'siswa';
    _

    Kode di atas digunakan untuk mengatur pengontrol mana yang akan dimuat terlebih dahulu. Secara default, Codeigniter telah mengatur pengontrol default, yang disambut baik. Di sini kita mengatur pengontrol default menjadi siswa
    Kemudian simpan file tersebut

  5. Buka file database. php
    Temukan kode berikut.
    'hostname' => 'localhost',
    'username' => '',
    'password' => '',
    'database' => '',

    Ubah seperti ini

    'hostname' => 'localhost', // Nama host
    'username' => 'root', // Username
    'password' => '', // Jika menggunakan password isi, jika tidak kosongkan saja
    'database' => 'mynotescode', // Nama databasenya
    _

    Kode di atas digunakan untuk koneksi ke database
    Kemudian simpan file tersebut


LANGKAH 4 – MEMBUAT MODEL
Sekarang kita akan membuat modelnya. Berisi fungsi untuk menampilkan semua data siswa pada tabel siswa . Buat file dengan nama StudentModel. php , Kemudian simpan ke folder xampp/htdocs/export_phpexcel_ci/application/models/ . Ini kodenya.

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class SiswaModel extends CI_Model {
  public function view(){
    return $this->db->get('siswa')->result(); // Tampilkan semua data yang ada di tabel siswa
  }
}
_

Pada kode di atas, kita membuat fungsi view(). di mana ada kode pengembalian $this->db->get('student')->result() . Kode berfungsi untuk menampilkan semua data pada tabel siswa . Struktur dasar tulisannya seperti ini. return $this->db->get(' table_name ')->result() . Kemudian pada kode diatas juga terdapat kode return , kode tersebut digunakan untuk menampilkan hasil dari suatu fungsi. Pada kasus di atas, hasil yang dihasilkan oleh return adalah data siswa.


LANGKAH 5 - MEMBUAT CONTROLLER
Pada tahap ini, kita akan membuat controller. Buat file dengan nama Mahasiswa. php , lalu simpan ke folder xampp/htdocs/export_phpexcel_ci/application/controllers/ . Ini kodenya.

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Siswa extends CI_Controller {
  
  public function __construct(){
    parent::__construct();
    
    $this->load->model('SiswaModel');
  }
  
  public function index(){
    $data['siswa'] = $this->SiswaModel->view();
    $this->load->view('view', $data);
  }
  
  public function export(){
    // Load plugin PHPExcel nya
    include APPPATH.'third_party/PHPExcel/PHPExcel.php';
    
    // Panggil class PHPExcel nya
    $excel = new PHPExcel();

    // Settingan awal fil excel
    $excel->getProperties()->setCreator('My Notes Code')
                 ->setLastModifiedBy('My Notes Code')
                 ->setTitle("Data Siswa")
                 ->setSubject("Siswa")
                 ->setDescription("Laporan Semua Data Siswa")
                 ->setKeywords("Data Siswa");

    // Buat sebuah variabel untuk menampung pengaturan style dari header tabel
    $style_col = array(
      'font' => array('bold' => true), // Set font nya jadi bold
      'alignment' => array(
        'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER, // Set text jadi ditengah secara horizontal (center)
        'vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER // Set text jadi di tengah secara vertical (middle)
      ),
      'borders' => array(
        'top' => array('style'  => PHPExcel_Style_Border::BORDER_THIN), // Set border top dengan garis tipis
        'right' => array('style'  => PHPExcel_Style_Border::BORDER_THIN),  // Set border right dengan garis tipis
        'bottom' => array('style'  => PHPExcel_Style_Border::BORDER_THIN), // Set border bottom dengan garis tipis
        'left' => array('style'  => PHPExcel_Style_Border::BORDER_THIN) // Set border left dengan garis tipis
      )
    );

    // Buat sebuah variabel untuk menampung pengaturan style dari isi tabel
    $style_row = array(
      'alignment' => array(
        'vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER // Set text jadi di tengah secara vertical (middle)
      ),
      'borders' => array(
        'top' => array('style'  => PHPExcel_Style_Border::BORDER_THIN), // Set border top dengan garis tipis
        'right' => array('style'  => PHPExcel_Style_Border::BORDER_THIN),  // Set border right dengan garis tipis
        'bottom' => array('style'  => PHPExcel_Style_Border::BORDER_THIN), // Set border bottom dengan garis tipis
        'left' => array('style'  => PHPExcel_Style_Border::BORDER_THIN) // Set border left dengan garis tipis
      )
    );

    $excel->setActiveSheetIndex(0)->setCellValue('A1', "DATA SISWA"); // Set kolom A1 dengan tulisan "DATA SISWA"
    $excel->getActiveSheet()->mergeCells('A1:E1'); // Set Merge Cell pada kolom A1 sampai E1
    $excel->getActiveSheet()->getStyle('A1')->getFont()->setBold(TRUE); // Set bold kolom A1
    $excel->getActiveSheet()->getStyle('A1')->getFont()->setSize(15); // Set font size 15 untuk kolom A1
    $excel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER); // Set text center untuk kolom A1

    // Buat header tabel nya pada baris ke 3
    $excel->setActiveSheetIndex(0)->setCellValue('A3', "NO"); // Set kolom A3 dengan tulisan "NO"
    $excel->setActiveSheetIndex(0)->setCellValue('B3', "NIS"); // Set kolom B3 dengan tulisan "NIS"
    $excel->setActiveSheetIndex(0)->setCellValue('C3', "NAMA"); // Set kolom C3 dengan tulisan "NAMA"
    $excel->setActiveSheetIndex(0)->setCellValue('D3', "JENIS KELAMIN"); // Set kolom D3 dengan tulisan "JENIS KELAMIN"
    $excel->setActiveSheetIndex(0)->setCellValue('E3', "ALAMAT"); // Set kolom E3 dengan tulisan "ALAMAT"

    // Apply style header yang telah kita buat tadi ke masing-masing kolom header
    $excel->getActiveSheet()->getStyle('A3')->applyFromArray($style_col);
    $excel->getActiveSheet()->getStyle('B3')->applyFromArray($style_col);
    $excel->getActiveSheet()->getStyle('C3')->applyFromArray($style_col);
    $excel->getActiveSheet()->getStyle('D3')->applyFromArray($style_col);
    $excel->getActiveSheet()->getStyle('E3')->applyFromArray($style_col);

    // Panggil function view yang ada di SiswaModel untuk menampilkan semua data siswanya
    $siswa = $this->SiswaModel->view();

    $no = 1; // Untuk penomoran tabel, di awal set dengan 1
    $numrow = 4; // Set baris pertama untuk isi tabel adalah baris ke 4
    foreach($siswa as $data){ // Lakukan looping pada variabel siswa
      $excel->setActiveSheetIndex(0)->setCellValue('A'.$numrow, $no);
      $excel->setActiveSheetIndex(0)->setCellValue('B'.$numrow, $data->nis);
      $excel->setActiveSheetIndex(0)->setCellValue('C'.$numrow, $data->nama);
      $excel->setActiveSheetIndex(0)->setCellValue('D'.$numrow, $data->jenis_kelamin);
      $excel->setActiveSheetIndex(0)->setCellValue('E'.$numrow, $data->alamat);
      
      // Apply style row yang telah kita buat tadi ke masing-masing baris (isi tabel)
      $excel->getActiveSheet()->getStyle('A'.$numrow)->applyFromArray($style_row);
      $excel->getActiveSheet()->getStyle('B'.$numrow)->applyFromArray($style_row);
      $excel->getActiveSheet()->getStyle('C'.$numrow)->applyFromArray($style_row);
      $excel->getActiveSheet()->getStyle('D'.$numrow)->applyFromArray($style_row);
      $excel->getActiveSheet()->getStyle('E'.$numrow)->applyFromArray($style_row);
      
      $no++; // Tambah 1 setiap kali looping
      $numrow++; // Tambah 1 setiap kali looping
    }

    // Set width kolom
    $excel->getActiveSheet()->getColumnDimension('A')->setWidth(5); // Set width kolom A
    $excel->getActiveSheet()->getColumnDimension('B')->setWidth(15); // Set width kolom B
    $excel->getActiveSheet()->getColumnDimension('C')->setWidth(25); // Set width kolom C
    $excel->getActiveSheet()->getColumnDimension('D')->setWidth(20); // Set width kolom D
    $excel->getActiveSheet()->getColumnDimension('E')->setWidth(30); // Set width kolom E
    
    // Set height semua kolom menjadi auto (mengikuti height isi dari kolommnya, jadi otomatis)
    $excel->getActiveSheet()->getDefaultRowDimension()->setRowHeight(-1);

    // Set orientasi kertas jadi LANDSCAPE
    $excel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE);

    // Set judul file excel nya
    $excel->getActiveSheet(0)->setTitle("Laporan Data Siswa");
    $excel->setActiveSheetIndex(0);

    // Proses file excel
    header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
    header('Content-Disposition: attachment; filename="Data Siswa.xlsx"'); // Set nama file excel nya
    header('Cache-Control: max-age=0');

    $write = PHPExcel_IOFactory::createWriter($excel, 'Excel2007');
    $write->save('php://output');
  }
}

Pada controller ini kita membuat 3 fungsi. fungsi yang pertama adalah public function __construct(){ , fungsi ini berfungsi untuk mengeksekusi suatu aksi ketika pengontrol utama dimuat. Pada fungsi ini terdapat kode $this->load->model('SiswaModel'); , kode tersebut berfungsi untuk memuat model siswa ( yang kita buat pada langkah sebelumnya) sehingga kita dapat mengakses fungsi-fungsi dalam model.

Fungsi kedua adalah public function index() . Pada fungsi ini terdapat kode $data['siswa'] = $this->SiswaModel->view(); , kode tersebut digunakan untuk mengambil hasil query sql dari fungsi view() pada model siswa ( SiswaModel. php ) dan memasukkannya ke dalam array data dengan indeks siswa ( $data['siswa'] ). Pada fungsi index() ini juga terdapat kode $this->load->view('view', $data); . Kode berfungsi untuk memuat (meload) file view. php (kami akan membuat file ini di langkah berikutnya) dan mengirimkan array data ( $data ) sebelumnya ke berkas.

Kemudian pada function export() , ada kode.

$excel->setActiveSheetIndex(0)->setCellValue('A1', “DATA SISWA”);
Seperti yang sudah saya jelaskan di komentar, script di atas berfungsi untuk mengatur kolom A1 dengan teks DATA SISWA. Mungkin ada yang bingung maksud A1 disini?

Cara menggunakan phpexcel bold

Yang saya beri tanda panah adalah yang dimaksud dengan kolom A1. Saya harap Anda mengerti apa yang saya maksud

$excel->getActiveSheet()->mergeCells('A1. F1');
Fungsi dari script diatas adalah untuk membuat "Merge Cells". Dan arti dari 'A1. F1' adalah menggabungkan kolom dari kolom A1 ke kolom F1. Untuk lebih jelasnya lihat gambar di bawah ini

Cara menggunakan phpexcel bold

Setelah digabung akan menghasilkan seperti gambar berikut

Cara menggunakan phpexcel bold

Mungkin itu penjelasan tambahan dari script proses excel. untuk lebih jelasnya fungsi-fungsi apa saja yang disediakan oleh PHPExcel, anda bisa langsung membaca dokumentasinya. Klik tautan berikut untuk mengunduh dokumentasi PHPExcel. Unduh


Baca Juga

  • Tutorial Codeigniter Indonesia Lengkap Plus Source Code
  • Tutorial PHP Bahasa Indonesia Lengkap Plus Source Code
  • Cara Install Laravel dengan Composer di Ubuntu
  • Cara Menampilkan Video Menggunakan HTML 5 dan VideoJS


LANGKAH 6 – BUAT TAMPILAN
Selanjutnya kita akan membuat file untuk menampilkan data siswa dan tombol ekspor. Buat file baru dengan nama view. php , lalu simpan ke folder xampp/htdocs/export_phpexcel_ci/application/views/ . Berikut kode dan tampilannya.

Cara menggunakan phpexcel bold

$config['base_url'] = 'http://localhost/export_phpexcel_ci';
_0

Pada kode diatas terdapat kode foreach($siswa as $data){ , kode tersebut akan menampilkan data siswa satu per satu satu sampai data siswa yang terakhir.
gema “ ini . ””;
gema “ nama . ””;
gema “ sex_type . ” ”;
gema “ alamat . ””;
Pada kode di atas yang saya tandai dengan warna merah. Itu harus sama dengan nama kolom/field pada tabel database student .


Mungkin itu saja untuk postingan kali ini. Semoga bisa bermanfaat. Jika ada yang tidak dimengerti, tanyakan langsung pada form komentar di bawah. Jangan lupa LIKE dan SHARE ya, terima kasih banyak

Selamat Coding ^_^


KODE SUMBER
Untuk mendownload source codenya, klik link berikut. Unduh


SUMBER & REFERENSI
dokumentasi codeigniter. https. // www. codeigniter. com/user_guide
dokumentasi PHPExcel. unduh

Tutorial export data ke excel dengan plugin PHPExcel dan Codeigniter 3, Tutorial membuat report excel dengan PHPExcel dan CI 3, Cara membuat report excel dengan PHPExcel dan Codeigniter 3, Tutorial export data dari database ke excel dengan PHPExcel dan Codeigniter 3, Cara untuk export data dari database ke excel dengan PHPExcel dan Codeigniter 3, Source code export data ke excel dengan plugin PHPExcel dan Codeigniter 3

PHPExcel

(Total. 44.942 penonton, 2 penonton hari ini)

Catatan Lain

  • Cara menggunakan phpexcel bold
    Cara Mengekspor Filter Tanggal Plus Excel dengan PHPExcel
  • Cara menggunakan phpexcel bold
    Cara Mudah Export Excel Tanpa Plugin dengan Codeigniter
  • Cara menggunakan phpexcel bold
    Cara Export Excel dengan Codeigniter dan PhpSpreadsheet
  • Cara menggunakan phpexcel bold
    Cara Membuat Export Excel Plus Date Filter dengan PHPExcel dan Codeigniter

13

SAHAM

BagikanTweet

Sayid Alwi

2 September 2020

Halo gan, maaf baru sempat konfirmasi lagi. Saya sudah mencoba tetapi tidak berhasil juga. Ini kesalahannya Pak

Tidak digunakan lagi. Sintaks akses offset array dan string dengan kurung kurawal tidak digunakan lagi di C. \xampp7\htdocs\phpexcel1\Classes\PHPExcel\Calculation\Functions. php online 612