Ekspor data dari MySQL ke Excel memudahkan orang dalam mengambil data dari sistem database mereka dan menyimpannya dalam bentuk Excel. Ada sejumlah cara yang dapat dilakukan untuk melakukan ekspor data dari MySQL ke Excel menggunakan PHP, dan dalam artikel ini kita akan membahas beberapa cara mudah untuk melakukan hal tersebut. Berikut ini adalah beberapa cara dan panduan yang perlu dilakukan.
Gambar 1: Cara Mudah Ekspor Data dari MySQL ke Excel Dengan PHP
Sebelum memulai, pastikan bahwa Anda telah menginstal aplikasi server web pada mesin Anda. Di sini, kita akan menggunakan aplikasi XAMPP.
Cara 1: Menggunakan PHPExcel
PHPExcel adalah perpustakaan PHP untuk memproses dan membaca file Excel. Dalam cara ini, kita akan menggunakan PHPExcel untuk membantu kita dalam membuat file Excel dan mengisi data ke dalamnya.
1. Menginstal PHPExcel
Pasang PHPExcel ke dalam aplikasi Anda menggunakan Composer. Lakukan perintah berikut pada command prompt Anda:
composer require phpoffice/phpexcel
2. Membuat file Excel kosong
Setelah PHPExcel terpasang, langkah selanjutnya adalah membuat file Excel kosong. Untuk membuat file Excel, gunakan kode berikut:
$objPHPExcel = new PHPExcel(); $objPHPExcel->getActiveSheet()->setTitle('Data Report'); $objPHPExcel->setActiveSheetIndex(0);
3. Mengambil data dari MySQL database
Masukkan data yang ingin Anda ekspor dari MySQL ke dalam file Excel.
$sql = "SELECT * FROM mytable"; $result = mysqli_query($conn, $sql); $objPHPExcel->getActiveSheet()->setCellValue('A1', 'ID'); $objPHPExcel->getActiveSheet()->setCellValue('B1', 'Name'); $objPHPExcel->getActiveSheet()->setCellValue('C1', 'Address'); $i = 2; while($row = mysqli_fetch_array($result)) $objPHPExcel->getActiveSheet()->setCellValue('A'.$i, $row['id']); $objPHPExcel->getActiveSheet()->setCellValue('B'.$i, $row['name']); $objPHPExcel->getActiveSheet()->setCellValue('C'.$i, $row['address']); $i++;
4. Menyimpan file Excel
Setelah data dimasukkan, simpan file Excel.
$fileName = 'data_report.xlsx'; header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="'. $fileName .'"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save('php://output');
Gambar 2: Cara Ekspor Laporan/Data dari Database MySQL ke dalam Excel (.xlsx)
Cara 2: Menggunakan MySQLi dan PHPExcel
Jika Anda tidak ingin menggunakan PDO, Anda dapat menggunakan MySQLi. Anda dapat melakukan cara ini dengan mengikuti langkah-langkah berikut:
1. Menghubungkan ke database MySQL
Pertama, kita perlu terhubung ke MySQL untuk membaca data dari database kita.
// Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) die("Connection failed: " . mysqli_connect_error()); $sql = "SELECT id, firstname, lastname FROM MyGuests"; $result = mysqli_query($conn, $sql);
2. Menggunakan PHPExcel
Kemudian, kita dapat menggunakan PHPExcel untuk membuat file Excel dan menambahkan data.
require_once 'PHPExcel/Classes/PHPExcel.php'; $objPHPExcel = new PHPExcel(); $objPHPExcel->setActiveSheetIndex(0); $objPHPExcel->getActiveSheet()->setCellValue('A1', 'ID'); $objPHPExcel->getActiveSheet()->setCellValue('B1', 'First Name'); $objPHPExcel->getActiveSheet()->setCellValue('C1', 'Last Name'); $rowCount = 2; while($row = mysqli_fetch_array($result)) $objPHPExcel->getActiveSheet()->setCellValue('A'.$rowCount, $row['id']); $objPHPExcel->getActiveSheet()->setCellValue('B'.$rowCount, $row['firstname']); $objPHPExcel->getActiveSheet()->setCellValue('C'.$rowCount, $row['lastname']); $rowCount++;
3. Menghasilkan file Excel
Kemudian, Anda dapat menyimpan file Excel dan mundur ke halaman sebelumnya.
$filename="report.xls"; header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="'.$filename.'"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); exit;
Gambar 3: Cara Membuat Pagination dengan Database MySQL pada PHP
Cara 3: Penggunaan PHP Spreadsheet
PHP Spreadsheet adalah pustaka yang memungkinkan Anda untuk membaca dan menulis berkas Excel
1. Instal PHP Speadsheet
Pasang PHP Spreadsheet ke aplikasi menggunakan Composer.
composer require phpoffice/phpspreadsheet
2. Membuat file Excel kosong
Membuat objek spreadsheet kosong.
$spreadsheet = new Spreadsheet(); $sheet = $spreadsheet->getActiveSheet();
3. Mengambil data dari database MySQL
Mengatur pengaturan dan koneksi untuk database
define('servername', 'localhost'); define('username', 'root'); define('password', ''); define('dbname', 'databasename'); $conn = mysqli_connect(servername, username, password, dbname); if (!$conn) die("Connection failed: " . mysqli_connect_error());
Masukkan data Anda dengan melakukan sinyal ke database Anda sebagai tindakan pengambilan data, seperti di bawah ini
$sql = "SELECT * FROM mytable"; $result = mysqli_query($conn, $sql); $data = []; while ($row = mysqli_fetch_assoc($result)) $data[] = $row;
4. Mengisi data dari MySQL database ke Excel file kosong
Memasukkan data ke dalam spreadsheet.
PHPExcel_Settings::setLocale('de'); $sheet->setCellValue('A1', 'ID'); $sheet->setCellValue('B1', 'Name'); $sheet->setCellValue('C1', 'Address'); $i = 2; foreach ($data as $row) $sheet->setCellValue('A'.$i, $row['id']); $sheet->setCellValue('B'.$i, $row['name']); $sheet->setCellValue('C'.$i, $row['address']); $i++;
5. Menyimpan file Excel
Simpan file Excel.
$filename = 'data_report.xlsx'; $writer = IOFactory::createWriter($spreadsheet, 'Xlsx'); $writer->save($filename);
Gambar 4: Cara Ekspor Laporan/Data dari Database MySQL ke dalam Excel (.xlsx)
FAQ
Pertanyaan 1: Apakah saya bisa menggunakan opsi ini dengan basis data lain selain MySQL?
Jawaban: Ya, Anda dapat menggunakan opsi ini dengan basis data lain selain MySQL. Namun, perlu diketahui bahwa Anda perlu menggunakan library database yang sesuai dengan basis data yang Anda gunakan.
Pertanyaan 2: Bagaimana cara saya membuat tampilan yang rapi di file Excel?
Jawaban: Anda dapat menggunakan fitur auto-fit column dalam Excel untuk membuat tampilan yang rapi. Untuk melakukannya, cukup pilih kolom atau sel yang ingin Anda atur ulang dan gunakan opsi “Auto-Fit Column Width” untuk menyesuaikan lebar kolom sesuai dengan konten di dalamnya.
Video: Cara Mudah Ekspor Data dari MySQL ke Excel Dengan PHP
Itulah beberapa cara mudah untuk melakukan ekspor data dari MySQL ke Excel menggunakan PHP. Pilihan dapat berbeda-beda tergantung pada preferensi Anda, dan ketersediaan perpustakaan PHP yang Anda gunakan. Untuk pengembang yang ingin terhubung dengan database mereka dan melakukan manipulasi data diperlukan keterampilan design query yang cukup. Happy coding!