Anda mungkin ingin mencari tahu cara mengexport data dari database ke Excel menggunakan PHP. Nah, Anda berada di tempat yang tepat! Dalam artikel ini, kami akan membahas beberapa cara mudah untuk mengexport data ke Excel menggunakan PHP.
Cara Export Database ke Excel Dengan PHP Dan Mysqli
Ada beberapa langkah yang perlu Anda lakukan untuk export database ke Excel dengan PHP dan mysqli, di antaranya adalah:
1. Buat koneksi database
Pertama-tama, Anda perlu membuat koneksi ke database menggunakan mysqli_connect(). Berikut ini contohnya:
$host = "localhost";
$username = "username_db";
$password = "password_db";
$dbname = "nama_database";
// Buat koneksi baru
$conn = mysqli_connect($host, $username, $password, $dbname);
// Cek koneksi
if (!$conn)
die("Koneksi gagal: " . mysqli_connect_error());
2. Query data dari database
Langkah selanjutnya adalah mengeksekusi query untuk mengambil data dari database. Anda juga dapat memberikan filter atau pengurutan sesuai dengan kebutuhan Anda. Berikut ini contoh query sederhana yang mengambil data dari tabel users:
// Query untuk mengambil data dari tabel users
$query = "SELECT * FROM users";
$result = mysqli_query($conn, $query);
// Cek apakah query berjalan dengan sukses
if (!$result)
die("Query gagal: " . mysqli_error($conn));
3. Buat file Excel dan tambahkan data ke dalamnya
Selanjutnya, Anda perlu membuat file Excel menggunakan PHPExcel. Berikut ini contoh kode untuk membuat file Excel dan menambahkan data ke dalamnya:
// Load PHPExcel library
require_once 'phpexcel/PHPExcel.php';
// Buat objek PHPExcel baru
$objPHPExcel = new PHPExcel();
// Set properties file Excel
$objPHPExcel->getProperties()->setCreator("Nama Pengguna")
->setLastModifiedBy("Nama Pengguna")
->setTitle("Export Data")
->setSubject("Data")
->setDescription("Export data ke Excel menggunakan PHP.")
->setKeywords("php, export, excel")
->setCategory("Data");
// Add kolom judul
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'ID')
->setCellValue('B1', 'Nama')
->setCellValue('C1', 'Email')
->setCellValue('D1', 'Alamat')
->setCellValue('E1', 'Telepon');
// Loop untuk menambahkan data
$row = 2;
while($data = mysqli_fetch_array($result))
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A'.$row, $data['id'])
->setCellValue('B'.$row, $data['nama'])
->setCellValue('C'.$row, $data['email'])
->setCellValue('D'.$row, $data['alamat'])
->setCellValue('E'.$row, $data['telepon']);
$row++;
// Set nama sheet
$objPHPExcel->getActiveSheet()->setTitle('Users');
// Set active sheet index ke sheet pertama, sehingga Excel akan membuka sheet pertama saat dibuka
$objPHPExcel->setActiveSheetIndex(0);
// Simpan file Excel ke server
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('export_data.xlsx');
Sekarang, file Excel akan disimpan ke server dengan nama file “export_data.xlsx”. Anda dapat menyesuaikan nama file sesuai dengan keinginan Anda.
Cara Export Data dari Database ke Excel dengan PhpSpreadsheet
Selain menggunakan PHPExcel, Anda juga dapat menggunakan PhpSpreadsheet untuk mengexport data dari database ke Excel. Langkah-langkahnya hampir sama dengan menggunakan PHPExcel, yang membedakan adalah penggunaan kelas dan metode yang berbeda.
Berikut ini contoh kode untuk mengexport data dari tabel users menggunakan PhpSpreadsheet:
// Load PhpSpreadsheet library
require_once 'phpspreadsheet/vendor/autoload.php';
// Buat objek PhpSpreadsheet baru
$spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();
$dataSheet = $spreadsheet->getActiveSheet();
// Set properties file Excel
$spreadsheet->getProperties()->setCreator("Nama Pengguna")
->setLastModifiedBy("Nama Pengguna")
->setTitle("Export Data")
->setSubject("Data")
->setDescription("Export data ke Excel menggunakan PHP.")
->setKeywords("php, export, excel")
->setCategory("Data");
// Add kolom judul
$dataSheet->setCellValue('A1', 'ID')
->setCellValue('B1', 'Nama')
->setCellValue('C1', 'Email')
->setCellValue('D1', 'Alamat')
->setCellValue('E1', 'Telepon');
// Query untuk mengambil data dari tabel users
$query = "SELECT * FROM users";
$result = mysqli_query($conn, $query);
// Loop untuk menambahkan data
$row = 2;
while($data = mysqli_fetch_array($result))
$dataSheet->setCellValue('A'.$row, $data['id'])
->setCellValue('B'.$row, $data['nama'])
->setCellValue('C'.$row, $data['email'])
->setCellValue('D'.$row, $data['alamat'])
->setCellValue('E'.$row, $data['telepon']);
$row++;
// Set nama sheet
$dataSheet->setTitle('Users');
// Set active sheet index ke sheet pertama, sehingga Excel akan membuka sheet pertama saat dibuka
$spreadsheet->setActiveSheetIndex(0);
// Simpan file Excel ke server
$writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);
$writer->save('export_data.xlsx');
Selesai! Anda sudah berhasil mengexport data dari database ke Excel menggunakan PhpSpreadsheet.
FAQ
Apa perbedaan antara PhpSpreadsheet dan PHPExcel?
PhpSpreadsheet adalah fork dari PHPExcel yang dikembangkan oleh The PHPOffice Team. The PHPOffice Team bersama-sama mengembangkan serangkaian solusi perangkat lunak untuk Microsoft Office dan membuka konten (misalnya dokumen, spreadsheet, presentasi, dan gambar) yang dapat digunakan di server menggunakan PHP.
The PHPOffice Team memutuskan untuk memisahkan proyek dan membentuk entitas mandiri baru, yakni PhpSpreadsheet. PhpSpreadsheet mewarisi fitur dan fungsionalitas dari PHPExcel, dan terus dikembangkan secara aktif.
Bagaimana cara menjalankan kode di atas?
Anda perlu mengganti beberapa nilai dalam kode di atas sesuai dengan pengaturan server dan database Anda. Selain itu, Anda perlu menginstal PHPExcel atau PhpSpreadsheet terlebih dahulu untuk menggunakannya.
Untuk menggunakan kode di atas, Anda dapat menyalinnya ke file PHP baru (misalnya, export_excel.php) dan kemudian menjalankannya di browser atau dari command line.
Video Tutorial
Berikut ini tutorial video singkat tentang cara export data dari database ke Excel menggunakan PHP:
Demikian artikel singkat tentang cara mengexport data dari database ke Excel menggunakan PHP. Semoga bermanfaat!