Membaut Report dengan PhpSpreadSheet

Selamat datang di warung belajar, dalam tutorial kali ini kita akan melanjutkan pembahasan dari seri tutorial PHP.

Part 53 kita akan belajar membuat report excel dengan PHP menggunakan PhpSpreadsheet.

Mengenal PhpSpreadsheet

PhpSpreadsheet adalah library PHP yang dapat digunakan untuk membaca dan menuliskan file Excel, sehingga anda dapat memanfaatkan library ini untuk keperluan membaca ataupun menuliskan file Excel menggunakan perintah PHP.

Pada tutorial ini kita akan menggunakan library ini untuk menuliskan file Excel, yang artinya kita akan gunakan untuk membuat report berupa file excel.

PhpSpreadsheet memiliki dokumentasi resmi di alamat : https://phpspreadsheet.readthedocs.io

Dalam dokumentasi resminya PhpSpreadsheet dapat digunakan di versi PHP 5.6 ataupun yang lebih tinggi

Sebelum kita memulai untuk menggunakan library PhpSpreadsheet, anda harus pastikan dulu composer sudah terinstall di komputer teman – teman, untuk tutorial instalasi composer bisa lihat di tutorial kita sebelumnya : Cara Menggunakan Composer untuk Project PHP

kita asumsikan teman – teman sudah menginstall composer di komputer masing – masing, kita akan langsung memulai pembuatan report excel.

 

Install Library PhpSpreadsheet

Sebelum kita membuat reportnya kita perlu menginstall library PhpSpreadSheet, tetapi sebelum itu kita buat folder projectnya dulu.

karena dalam contoh ini kita menggunakan xampp, sehingga folder projectnya berada di C:/xampp/htdocs

contohnya kita membuat folder dengan nama reportexcel

Berikutnya silahkan buka terminal/command prompt, dan akses folder tersebut.

untuk menginstall library PhpSpreadsheet silahkan ketikkan perintah :

pastikan anda terkoneksi internet, lalu tekan enter.

Tunggu proses instalasinya selesai, seperti gambar diatas.

 

Membuat Report Excel Sederhana

Baik kita asumsikan teman – teman sudah menginstall library PhpSpreadSheet menggunakan composer.

Langkah berikutnya kita akan coba membuat report excel dengan tampilan yang sederhana dulu, agar kita mudah memahami perintah – perintahnya, baik langkah – langkahnya adalah sebagai berikut :

1. buat file dengan nama report.php di folder reportexcel yang tadi kita buat.

2. lalu kita isi file report.php dengan code seperti berikut ini :

3. Simpan file tersebut, berikutnya coba akses file tersebut dengan alamat : localhost/reportexcel/report.php

4. Berikunya coba periksa di folder reportexcel, akan terdapat 1 file excel dengan nama hello world.xlsx, file itu adalah hasil export dari file report.php

5. silahkan buka file tesebut maka hasilnya adalah seperti berikut ini :

Keterangan :

Line 2 kita require file autoload.php di dalam folder vendor

Line 3 – 4 kita menggunakan namespace dari PhpSpreadsheet

Line 6 kita membuat object dengan nama $spreadsheet dengan menggunakan class Spreadsheet

Line 7 kita membuat variabel $sheet yang digunakan sebagai activesheet di file excel

Line 8 kita mengisi Cell A1 dengan text “Hello World !”

Line 10 kita render menjadi file Xlsx hasil dari object $spreadsheet dimana didalam object ini kita sudah membuat isi dari file excelnya

Line 11 kita melakukan penyimpanan / Export file excel dengan nama hello world.xlsx sehingga di folder project php kita terdapat file dengan nama hello world.xlsx

 

Membuat Database Siswa

Setelah anda belajar mengenai konsep membuat report excel dengan contoh sederhana di tutorial sebelumnya, berikutnya kita akan belajar untuk export data dari database menjadi bentuk excel.

Untuk langkah awal kita akan membuat database db_siswa, dibawah ini adalah perintah SQL untuk membuat databasenya.

didalam database db_siswa, akan terdapat tabel tb_siswa, yang memiliki beberapa kolom, antara lain :

  • id_siswa (primary key – auto increment)
  • nama (varchar 255)
  • kelas (varchar 100)
  • alamat (varchar 255)

didalam tabel tb_siswa telah memiliki 3 siswa seperti gambar dibawah ini :

Baik kita asumsikan teman – teman sudah memiliki database siswa, dengan menggunakan perintah SQL diatas.

 

Membuat File Koneksi ke database

Berikutnya kita akan membuat file koneksi.php yang berisi perintah untuk koneksi ke database, untuk codenya adalah sebagai berikut :

Keterangan :

  • Perintah diatas digunakan untuk koneksi ke database db_siswa yang sebelumnya telah kita buat.
  • $host dengan nilai “localhost” yang merupakan alamat server databasenya
  • $user dengan nilai “root” yang merupakan user dari databasenya
  • $password dengan nilai “” yang merupakan password untuk mengakses database, nilainya kosong karena default dari xampp untuk password user root adalah kosong
  • $database dengan nilai “db_siswa” yang merupakan nama dari database yang sebelumnya telah kita buat
  • Baris 6 adalah perintah untuk melakukan koneksi ke database, dan hasilnya disimpan di variabel $koneksi.

 

Membuat File reportdataexcel.php

Berikutnya kita akan membuat file reportdataexcel.php, yang digunakan untuk pembuatan fitur export data siswa berupa report excel, baik silahkan buat file dengan nama reportdataexcel.php dengan isi code sebagai berikut :

Setelah anda menyimpan file reportdataexcel.php, anda bisa mencoba untuk mengaksesnya menggunakan alamat : localhost/reportexcel/reportdataexcel.php, maka hasilnya akan mengexport file excel dengan nama Report Data Siswa.xlsx didalam folder reportexcel, jika dibuka hasilnya adalah seperti berikut ini :

Keterangan :

Line 2 kita include file koneksi.php yang berisi koneksi ke database

Line 3 kita require file autoload.php di dalam folder vendor

Line 4 – 5 kita menggunakan namespace dari PhpSpreadsheet

Line 7 kita membuat object dengan nama $spreadsheet dengan menggunakan class Spreadsheet

Line 8 kita membuat variabel $sheet yang digunakan sebagai activesheet di file excel

Line 9 – 12 kita membuat heading dari tabel dengan kolom No, Nama, Kelas, Alamat, header ini ditampilkan di cell A1,B1,C1,D1

Line 14 kita membuat query untuk mengambil data di tabel tb_siswa, dan hasilnya disimpan di variabel $query

Line 15 kita membuat variabel $i yang digunakan untuk menyimpan nomor awal cell, digunakan untuk awal menampilkan data di cell pada tabel, variabel $i bernilai 2, yang artinya data dari tabel tb_siswa nanti akan ditampilkan dimulai dari baris 2

Line 16 variabel $no digunakan untuk memberikan urutan nomor pada data yang ditampilkan

Line 17 kita extract hasil query menggunakan perintah while, dan disetiap perulangan datanya akan disimpan di variabel $row

Line 19 – 22 kita menuliskan perintah untuk menuliskan data dari hasil query, dimulai dari Kolom A (untuk nomor), Kolom B (untuk nama), Kolom C (untuk kelas), Kolom D (untuk alamat), kolom akan dipadukan dengan nilai pada vaiabel $i, sehingga setiap data akan ditampilkan berurutan secara vertical, karena diakhir perulangan nilai variabel $i akan diincrement

Line 26 – 32 kita membuat array $styleArray dimana didalamnya terdapat settingan border untuk cell.

Line 33 kita mengurangi nilai variabel $i dengan angka 1, agar border nanti akan digunakan hingga akhir perulangan data.

Line 34 kita menggunakan hasil array di Line 26 yaitu $styleArray yang berisi settingan border, agar digunakan dari Cell A1 hingga kolom D dengan baris diakhir perulangan data, dalam contoh diatas hingga D4.

Line 37 kita render menjadi file Xlsx hasil dari object $spreadsheet dimana didalam object ini kita sudah membuat isi dari file excelnya

Line 38 kita melakukan penyimpanan / Export file excel dengan nama Report Data Siswa.xlsx sehingga di folder project php kita terdapat file dengan nama Report Data Siswa.xlsx

 

Baik sekian dulu teman – teman tutorial kali ini, kita sudah belajar untuk membuat report excel dengan menggunakan PhpSpreadSheet, jika ada yang ingin didiskusikan silahkan di kolom komentar, sekian dulu sampai jumpa di tutorial selanjutnya.

Bahan Belajar

Dokumentasi Resmi PhpSpreadSheet

File Hasil Belajar bisa di download disini

Leave a Comment

Your email address will not be published.