CARA EKSPOR FILE MYSQL KE EXCEL DENGAN PHP

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

CARA EKSPOR FILE 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.

Baca Juga :  CARA MERUBAH FILE XML KE EXCEL

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 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 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

Baca Juga :  CARA MUDAH INPUT DATA DI 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)

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!

Baca Juga :  Cara Membuat Diagram Mohr Di Excel