Tutorial Codeigniter Part 25 – Membuat Laporan Excel dengan PhpSpreadsheet di Codeigniter

Selamat datang di warungbelajar, dalam tutorial kali ini akan melanjutkan pembahasan dari seri tutorial belajar Codeigniter 3, pada part 25 kita akan membahas mengenai bagaimana cara untuk membuat report dalam bentuk excel dengan menggunakan PhpSpreadsheet di Codeigniter 3.

Untuk tutorial ini kita akan belajar membuat export data dalam bentuk excel, dan data itu kita ambil dari database, baik kita akan langsung mulai pembahasannya.

Install Codeigniter

Untuk langkah awal pastikan anda telah memiliki project codeigniter, untuk tutorial instalasi dari codeigniter, bisa melihat di tutorial kita sebelumnya : Cara Menginstall Codeigniter

Dalam contoh ini untuk folder project saya beri nama belajarcodeigniter

 

 

Setting Autoload Composer

Kita akan menginstall Phpspreadsheet  dengan menggunakan Composer, karena itu kita perlu mengaktifkan autoload untuk composer.

Silahkan buka file dengan nama application/config/config.php, kemudian isi bagian autoload composer menjadi seperti dibawah ini :

 

 

Install Phpspreadsheet dengan Composer

Pastikan anda sudah menginstall Composer, untuk instalasi Composer bisa download disini : Klik Disini

Berikutnya buka Command Prompt / Terminal, dan akses folder project codeigniter anda, dalam contoh ini adalah folder belajarcodeigniter, lalu tuliskan perintah seperti berikut ini :

Persiapkan database

Dalam contoh ini kita akan belajar untuk menampilkan data dari database, dan ditampilkan dalam bentuk Excel, sehingga kita perlu mempersiapkan database terlebih dahulu.

Dalam contoh ini kita buat database dengan nama db_siswa, dan kita juga membuat tabel siswa didalamnya dengan kolom sebagai berikut :

  • kd_siswa (Primary Key, Int, Auto Increment)
  • nama (Varchar 255)
  • kelas (Varchar 5)
  • jenis_kelamin (Enum (‘PRIA’,’WANITA’))
  • alamat (Varchar 255)

 

Berikutnya kita akan isi tabel dengan data sebagai berikut :

  • Data 1

kd_siswa(1), nama (Budi Hermawan), kelas (3MM1), jenis_kelamin(PRIA), alamat (Wonocolo, Surabaya)

  • Data 2

kd_siswa(2), nama (Cika Larasati), kelas (3MM1), jenis_kelamin(WANITA), alamat (Sedati, Sidoarjo)

 

disini kita tidak membahas detail teknis bagaimana membuat database dan tabel didalamnya ya.. anda bisa gunakan Query SQL berikut ini untuk dapat membuat database disertai tabelnya :

 

 

Setting Database di Codeigniter

Berikutnya kita akan setting codeigniter agar dapat mengakses database, silahkan buka file application/config/autoload.php, lalu ubah code dibawah ini :

Menjadi

 

Berikutnya silahkan buka file application/config/database.php

lalu konfigurasi settingan database, seperti berikut ini :

dalam contoh diatas saya hanya lakukan konfigurasi pada :

  • hostname : localhost
  • username : root
  • password : saya kosongi
  • database : db_siswa

 

 

Membuat Model

Karena nanti kita melakukan komunikasi dengan database sehingga kita perlu membuat model, silahkan buat model dengan nama Siswa_model.php didalam folder application/models untuk codenya adalah sebagai berikut :

Keterangan :

  • Kita buat class dengan nama Siswa_model dengan extends class CI_Model.
  • lalu didalamnya kita buat method getData, didalamnya ada perintah untuk get data ditabel siswa (Line 7) dan kita return hasil data tersebut (Line 8)

 

 

Membuat Controller

Berikutnya kita akan membuat controller dimana didalamnya kita akan buat method excel yang nantinya akan kita akses melalui browser untuk menampilkan laporan Excel, dengan menggunakan Library PHPSpreadsheet

buat controller dengan nama Siswa.php didalam folder application/controllers/Siswa.php, dengan code seperti berikut ini :

Keterangan :

  • Pada line 3 dan 4 kita load library phpspreadsheet untuk keperluan mencetak laporan berupa excel.
  • Line 6 kita buat class dengan nama Siswa dengan extends class CI_Controller
  • Line 8 kita buat method dengan nama excel, nah di method ini kita akan buat report berupa excel.
  • Line 10 kita load model dengan nama siswa_model
  • Line 11 kita buat object dengan nama $spreadsheet dari class Spreadsheet
  • Line 12 kita buat Sheet Active, dimana kita menjadikannya di variabel $sheet
  • Line 13 kita buat tulisan pada kolom A1 dengan isi text “No
  • Line 14 kita buat tulisan pada kolom B1 dengan isi text “Nama
  • Line 15 kita buat tulisan pada kolom C1 dengan isi text “Kelas
  • Line 16 kita buat tulisan pada kolom D1 dengan isi text “Jenis Kelamin
  • Line 17 kita buat tulisan pada kolom E1 dengan isi text “Alamat
  • Line 20 kita buat variabel $no untuk menyimpan nomor urut dari data siswa yang ditampilkan nantinya
  • Line 21 kita buat variabel $x untuk menyimpan no baris dari masing – masing data yang nantinya akan ditampilkan
  • Line 22 kita extract data di variabel $siswa, dan setiap perulangannya akan diwakili variabel $row.
  • Line 24 kita tampilkan no urut data saat di excel, disitu kita tuliskan A,$x++ artinya menampilkan sesuai nama cell yang ada, variabel $x dimulai dari angka 2, sehingga data siswa dimulai dari cell A2 untuk bagian Nomor, dan untuk nomor urut menggunakan nilai di variabel $no
  • Line 25 kita tampilkan nilai kolom nama, disitu kita tuliskan B,$x++ artinya menampilkan sesuai nama cell yang ada, variabel $x dimulai dari angka 2, sehingga data untuk nama ditampilkan mulai dari cell B2
  • Line 26 kita tampilkan nilai kolom kelas, disitu kita tuliskan C,$x++ artinya menampilkan sesuai nama cell yang ada, variabel $x dimulai dari angka 2, sehingga data untuk kelas ditampilkan mulai dari cell C2
  • Line 27 kita tampilkan nilai kolom jenis_kelamin, disitu kita tuliskan D,$x++ artinya menampilkan sesuai nama cell yang ada, variabel $x dimulai dari angka 2, sehingga data untuk jenis_kelamin ditampilkan mulai dari cell D2
  • Line 28 kita tampilkan nilai kolom alamat, disitu kita tuliskan E,$x++ artinya menampilkan sesuai nama cell yang ada, variabel $x dimulai dari angka 2, sehingga data untuk alamat ditampilkan mulai dari cell E2
  • Line 29 kita membuat increment pada variabel $x yang artinya setiap record yang ditampilkan, akan menambahkan + 1 pada variabel $x, itu yang membuat setiap data siswa akan berganti baris
  • Line 30 kita membuat object dengan nama $writer dengan class Xlsx dengan nilai di variabel $spreadsheet
  • Line 31 kita set nama file excel yang akan diexport
  • Line 34 – 36 kita buat header dari file excel
  • Line 38 kita export data excel yang telah kita set sebelumnya.

 

 

Melakukan testing menampilkan laporan Excel

Berikutnya kita akan coba mengakses method excel di controller siswa untuk menampilkan laporan Excel, dengan alamat : localhost/belajarcodeigniter/index.php/siswa/excel

maka akan ditampilkan laporan berupa file Excel, karena kita menggunakan library phpspreadsheet

Untuk teman teman yang ingin download source code hasil : Download Source Code

 

Baik sekian dulu tutorial kali ini, kita sudah belajar untuk membuat report Excel dengan menggunakan PHPSpreadsheet di Codeigniter 3, jika ada yang ingin didiskusikan silahkan di kolom komentar

 


ANDA INGIN SERIUS BELAJAR FRAMEWORK CODEIGNITER ?

Seperti yang anda ketahui bahwa saat ini skill di bidang pemrograman sangatlah dibutuhkan, salah satunya adalah pemograman PHP.
Untuk anda yang ingin serius belajar pemrograman PHP, Khususnya menggunakan Framework PHP Codeigniter, Warung Belajar Memiliki Beberapa Paket Tutorial yang bisa membantu anda dalam belajar menggunakan Framework PHP Codeigniter, dari mulai step – step dasar hingga mampu membuat aplikasi berbasis web dengan menggunakan Framework PHP Codeigniter.

Paket Tutorial ini berisi video tutorial belajar pemrograman berbahasa indonesia, cocok sekali untuk anda yang sedang belajar Framework PHP Codeigniter, bahkan untuk orang awam sekalipun.

Paket Tutorial ini juga dilengkapi dengan study kasus yang akan mempermudah pemahaman anda dalam belajar pemrograman, Mari berinvestasi untuk menambah skill dalam menguasai Framework PHP Codeigniter

 

9 thoughts on “Tutorial Codeigniter Part 25 – Membuat Laporan Excel dengan PhpSpreadsheet di Codeigniter

  • July 9, 2020 at 2:02 pm
    Permalink

    kalo excelnya mau dibuka valid extension. kenapa ya?

    Reply
    • July 9, 2020 at 3:14 pm
      Permalink

      Ada kemungkinan salah di codenya mas, coba pakai code yg kita sediakan

      Reply
  • August 1, 2020 at 2:05 pm
    Permalink

    Bang kalau untuk import sendiri menggunakan PhpSpreadsheet ada tutorialnya juga ngak bang? terima kasih sebelumnya

    Reply
    • August 2, 2020 at 12:08 pm
      Permalink

      Mohon maaf untuk tutorial import data dari excel kita belum ada kak

      Reply
  • October 26, 2020 at 5:03 pm
    Permalink

    gimana caranya export file gambar ke excel???

    Reply
    • November 21, 2020 at 2:21 pm
      Permalink

      coba search di google dengan keyword : phpspreadsheet with image, ada yang bahas kak

      Reply
  • November 11, 2020 at 10:35 am
    Permalink

    Untuk filter berdasarkan range tanggal tertentu bagaimana ya? setelah pilih tgl awal dan tgl akhir lanjut export excel

    Reply
    • November 21, 2020 at 2:27 pm
      Permalink

      tambahkan pada query dengan perintah between, dengan range tanggal

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *