Tutorial PHP Part 53 – Cara Membuat Report Excel di PHP menggunakan library PHPSpreadsheet
Import Library PHPSpreadsheet
PHPSpreadsheet adalah library PHP yang digunakan untuk membuat file excel. Untuk menggunakan library ini, kita perlu menginstall nya terlebih dahulu. Berikut cara menginstall PHPSpreadsheet menggunakan composer :
composer require phpoffice/phpspreadsheet
Membuat File Excel
Setelah PHPSpreadsheet terinstall, selanjutnya adalah membuat file excel. Kita bisa membuat file excel kosong menggunakan class Spreadsheet, atau membaca file excel yang sudah ada menggunakan class IOFactory.
Berikut contoh membuat file excel kosong :
use PhpOffice\PhpSpreadsheet\Spreadsheet; $spreadsheet = new Spreadsheet(); $writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Xlsx'); $writer->save('hello world.xlsx');
Contoh membaca file excel :
use PhpOffice\PhpSpreadsheet\IOFactory; $spreadsheet = IOFactory::load("hello world.xlsx"); $worksheet = $spreadsheet->getActiveSheet();
Mengisi Data pada Excel
Setelah file excel dibuat, selanjutnya adalah mengisi data pada excel. Kita bisa mengisi data pada cell tertentu, maupun pada baris dan kolom tertentu.
Berikut contoh mengisi data pada cell :
use PhpOffice\PhpSpreadsheet\Spreadsheet; $spreadsheet = new Spreadsheet(); $worksheet = $spreadsheet->getActiveSheet(); $worksheet->setCellValue('A1', 'Hello'); $worksheet->setCellValue('B1', 'World'); $writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Xlsx'); $writer->save('hello world.xlsx');
Contoh mengisi data pada baris dan kolom :
use PhpOffice\PhpSpreadsheet\Spreadsheet; $spreadsheet = new Spreadsheet(); $worksheet = $spreadsheet->getActiveSheet(); $worksheet->fromArray([ ['Hello', 'World'], ['World', 'Hello'] ], NULL, 'A1'); $writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Xlsx'); $writer->save('hello world.xlsx');
Formatting pada Excel
Selain mengisi data pada excel, kita juga bisa melakukan formatting pada excel, seperti mengatur lebar kolom, warna background cell, dan sebagainya.
Berikut contoh melakukan formatting pada excel :
use PhpOffice\PhpSpreadsheet\Spreadsheet; $spreadsheet = new Spreadsheet(); $worksheet = $spreadsheet->getActiveSheet(); $worksheet->getColumnDimension('A')->setWidth(20); $worksheet->getStyle('A1:B2')->getFill()->setFillType(\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID)->getStartColor()->setARGB('FFFF0000'); $writer = \PhpOffice\PhpSpreadsheet\IOFactory::createWriter($spreadsheet, 'Xlsx'); $writer->save('hello world.xlsx');
Cara Membuat Report Excel di PHP menggunakan library PHPSpreadsheet
Eksport html Table ke Excel dengan PHP
Pada artikel kali ini, kita akan belajar cara eksport html table ke excel dengan PHP. Eksport HTML table ke excel merupakan hal yang sangat umum dilakukan pada pengembangan web. Ada banyak cara untuk eksport html table ke excel, kali ini kita akan menggunakan library PHPExcel.
Library PHPExcel
PHPExcel merupakan library PHP yang digunakan untuk mengolah file Excel. Pada awal tahun 2017, semua pengembangan dari PHPExcel beralih ke PhpSpreadsheet. Oleh karena itu, PhpSpreadsheet menjadi pilihan yang lebih tepat untuk pengolahan file Excel pada PHP saat ini.
Cara menggunakan PhpSpreadsheet
Untuk menggunakan PhpSpreadsheet, kita perlu menginstall nya terlebih dahulu dengan composer. Berikut cara menginstall PhpSpreadsheet menggunakan composer :
composer require phpoffice/phpspreadsheet
Eksport HTML Table ke Excel
Setelah menginstall library PhpSpreadsheet, kita selanjutnya akan mencoba eksport HTML table ke excel. Berikut contoh script Php :
require 'vendor/autoload.php'; use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; $spreadsheet = new Spreadsheet(); $worksheet = $spreadsheet->getActiveSheet(); $htmlTable = '
Nama | Umur |
---|---|
Ayu | 20 Tahun |
Budi | 21 Tahun |
Script tersebut akan membuat file excel “html to excel.xlsx” yang berisi data pada HTML table. Kita bisa mengganti data pada HTML table dengan data yang kita inginkan. Kita juga bisa mengubah styling pada Excel dengan menggunakan PhpSpreadsheet.
Excel VBA – Generate a report in dashboard format
Visual Basic for Application (VBA) adalah bahasa pemrograman yang digunakan oleh Microsoft Office untuk mengembangkan aplikasi Office dan otomasi tugas-tugas di dalam aplikasi Office. Pada artikel kali ini, kita akan belajar cara membuat report di Excel menggunakan VBA.
Di dalam Excel, kita bisa membuat berbagai macam report, seperti laporan harian, mingguan, bulanan, maupun tahunan. Berikut contoh cara membuat report harian di Excel menggunakan VBA :
Sub Generate_Daily_Report() Dim wsData As Worksheet Dim wsReport As Worksheet Dim LastRow As Long Set wsData = ThisWorkbook.Worksheets("Data") Set wsReport = ThisWorkbook.Worksheets("Report") LastRow = wsData.Range("A" & Rows.Count).End(xlUp).Row wsReport.Range("A4:H" & LastRow + 3).Clear wsReport.Range("B1").Value = "Daily Report - " & Format(Date, "dd-mm-yyyy") wsReport.Range("A4:H4").Value = Array("No", "Tanggal", "Nama Sales", "Alamat", "Barang", "Jumlah", "Harga Satuan", "Total") For i = 1 To LastRow If wsData.Range("A" & i).Value = Date Then wsReport.Range("A" & i + 3).Value = i wsReport.Range("B" & i + 3).Value = wsData.Range("A" & i).Value wsReport.Range("C" & i + 3).Value = wsData.Range("B" & i).Value wsReport.Range("D" & i + 3).Value = wsData.Range("C" & i).Value wsReport.Range("E" & i + 3).Value = wsData.Range("D" & i).Value wsReport.Range("F" & i + 3).Value = wsData.Range("E" & i).Value wsReport.Range("G" & i + 3).Value = wsData.Range("F" & i).Value wsReport.Range("H" & i + 3).Value = wsData.Range("G" & i).Value End If Next i End Sub
Script tersebut akan membuat report harian berdasarkan data di sheet “Data”, dengan header tanggal, dan tabel yang berisi data penjualan pada tanggal tersebut. Script tersebut bisa diubah sesuai dengan kebutuhan report yang akan dibuat.
Cara Mendesain Halaman Export Excel Dengan Php – Rumah Siswa
Pada artikel kali ini, kita akan belajar cara mendesain halaman export excel dengan PHP. Saat eksport HTML Table ke Excel, kita kadang-kadang ingin agar halaman Excel yang dihasilkan lebih menarik dan berisi meta data yang dibutuhkan. Berikut cara mendesain halaman export excel dengan PHP :
Pertama, kita perlu membuatnya terlebih dahulu sebuah tabel HTML yang akan di-export. Berikut contoh script HTML :
<table> <thead> <tr> <th>No</th> <th>Nama</th> <th>Umur</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>Ayu</td> <td>20 Tahun</td> </tr> <tr> <td>2</td> <td>Budi</td> <td>21 Tahun</td> </tr> </tbody> </table>
Setelah itu, kita membutuhkan file PHP untuk membuat file Excel. Pada file PHP tersebut, kita bisa mengatur meta data Excel seperti title, author, description, dan sebagainya. Berikut contoh script PHP :
require 'vendor/autoload.php'; use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; $spreadsheet = new Spreadsheet(); $worksheet = $spreadsheet->getActiveSheet(); $htmlTable = '
No | Nama | Umur |
---|---|---|
1 | Ayu | 20 Tahun |
2 | Budi | 21 Tahun |
Script tersebut akan membuat file Excel “data siswa.xlsx” dengan meta data yang telah kita set pada script PHP tersebut. Kita bisa mengubah meta data tersebut sesuai dengan kebutuhan kita.
FAQ
1. Apakah saya bisa menambahkan gambar pada file Excel yang dibuat?
Iya, kita bisa menambahkan gambar pada Excel dengan menggunakan library PhpSpreadsheet.
2. Bisakah report di Excel menggunakan data dari database?
Iya, kita bisa mengambil data dari database lalu membuat report di Excel dengan menggunakan PhpSpreadsheet.
Video Tutorial
Berikut video tutorial membuat report Excel dengan PHP menggunakan library PHPSpreadsheet :
Berikut video tutorial eksport HTML Table ke Excel dengan PHP :
Berikut video tutorial membuat report di Excel menggunakan VBA :
Berikut video tutorial mendesain halaman export Excel dengan PHP :