Pada era digital yang semakin maju seperti saat ini, data menjadi hal yang sangat penting. Berbagai informasi dapat diperoleh dari data yang tersimpan di dalam suatu sistem atau aplikasi, seperti data keuangan, data pengguna, ataupun data produk. Namun, tidak semua orang dapat mengakses data tersebut secara langsung. Oleh karena itu, salah satu cara untuk mengakses dan memanipulasi data adalah dengan cara meng-export data ke dalam format Excel.
Meng-export data ke dalam format Excel dapat dilakukan dengan cara yang cukup mudah. Salah satu bahasa pemrograman yang dapat digunakan untuk meng-export data adalah PhpSpreadsheet. PhpSpreadsheet adalah sebuah library untuk PHP yang dapat digunakan untuk melakukan manipulasi data Excel. Dalam tutorial ini, kita akan membahas cara meng-export data dari database ke dalam format Excel menggunakan library PhpSpreadsheet.
Cara Export Data dari Database ke Excel dengan PhpSpreadsheet
Langkah pertama yang harus dilakukan adalah menginstal library PhpSpreadsheet. Caranya dapat dilakukan dengan menggunakan Composer. Jika belum menginstall Composer, silahkan install terlebih dahulu. Setelah itu, buatlah file composer.json pada direktori root aplikasi, kemudian tambahkan kode berikut:
“
`”require”: `
`”phpoffice/phpspreadsheet”: “^1.14″`
“
“
Kemudian jalankan perintah composer install untuk menginstal library PhpSpreadsheet. Setelah selesai terinstall, selanjutnya adalah melakukan koneksi ke database. Misalkan bahwa kita akan meng-export data dari sebuah tabel bernama users pada database MySQL. Berikut adalah contoh kode untuk melakukan koneksi ke database:
`connect_error) `
`die(“Connection failed: ” . $conn->connect_error);`
“
`?>`
Selanjutnya, kita perlu membuat file Excel kosong dengan menggunakan PhpSpreadsheet. Caranya adalah dengan membuat instance dari class Spreadsheet, seperti pada contoh kode berikut:
``
Kemudian, buat sheet baru pada file Excel tersebut dengan menggunakan method createSheet(). Setelah itu, kita dapat menambahkan header pada file Excel yang akan di-export. Berikut adalah contoh kode untuk menambahkan header pada file Excel:
`getActiveSheet();`
`// Add header`
`$sheet->setCellValue(‘A1’, ‘ID’);`
`$sheet->setCellValue(‘B1’, ‘Nama’);`
`$sheet->setCellValue(‘C1’, ‘Email’);`
`// Set bold header`
`$sheet->getStyle(‘A1:C1’)->getFont()->setBold(true);`
`?>`
Setelah header ditambahkan, selanjutnya adalah melakukan query data dari database dan menambahkan data tersebut ke dalam file Excel. Berikut adalah contoh kode untuk mengambil data dari database dan menambahkannya ke dalam file Excel:
`getActiveSheet();`
`// Add header`
`$sheet->setCellValue(‘A1’, ‘ID’);`
`$sheet->setCellValue(‘B1’, ‘Nama’);`
`$sheet->setCellValue(‘C1’, ‘Email’);`
`// Set bold header`
`$sheet->getStyle(‘A1:C1’)->getFont()->setBold(true);`
`// Query data from database`
`$sql = “SELECT id, name, email FROM users”;`
`$result = $conn->query($sql);`
`if ($result->num_rows > 0) `
`// output data of each row`
`$i = 2;`
`while($row = $result->fetch_assoc()) `
`$sheet->setCellValue(‘A’.$i, $row[‘id’]);`
`$sheet->setCellValue(‘B’.$i, $row[‘name’]);`
`$sheet->setCellValue(‘C’.$i, $row[’email’]);`
`$i++;`
“
` else `
`echo “0 results”;`
“
`// Close database connection`
`$conn->close();`
`// Export file`
`$writer = new Xlsx($spreadsheet);`
`$filename = ‘data_users.xlsx’;`
`header(‘Content-Type: application/vnd.ms-excel’);`
`header(‘Content-Disposition: attachment; filename=”‘. $filename .'”‘);`
`$writer->save(“php://output”);`
`?>`
Setelah file Excel ter-export, kita dapat menyimpannya sebagai file di dalam server atau langsung menampilkan filenya untuk di-download oleh user.
Sekian tutorial cara meng-export data dari database ke dalam format Excel dengan PhpSpreadsheet. Dengan mengikuti tutorial ini, diharapkan Anda dapat memanipulasi data dengan lebih mudah dan efisien.
FAQ
1. Apakah PhpSpreadsheet dapat digunakan untuk meng-export data dari database lain selain MySQL?
Ya, PhpSpreadsheet dapat digunakan untuk meng-export data dari database lain seperti PostgreSQL, SQLite, Oracle, ataupun Microsoft SQL Server.
2. Apakah PhpSpreadsheet dapat digunakan untuk meng-export data dengan format selain Excel?
Ya, selain Excel, PhpSpreadsheet juga dapat digunakan untuk meng-export data dalam format HTML, PDF, CSV, dan lain-lain.