Export database ke Excel adalah salah satu aktivitas yang umum dilakukan di dunia pemrograman. Ada banyak cara untuk melakukan hal ini, dan pada artikel ini kita akan membahas beberapa cara untuk melakukan export database ke Excel menggunakan PHP dan MySQLi. Selain itu, kita juga akan membahas bagaimana cara import data dari Excel ke database MySQL.
Cara Export Database Ke Excel Dengan PHP dan MySQLi
Sebelum membahas langkah-langkah untuk melakukan export database ke Excel, Anda harus memastikan bahwa Anda memiliki koneksi database yang terhubung ke database MySQL Anda. Setelah itu, Anda dapat mengikuti langkah-langkah berikut:
Langkah 1 – Membuat Koneksi ke Database MySQL
Anda harus membuat koneksi ke database MySQL menggunakan fungsi mysqli_connect (). Berikut adalah contoh kode yang dapat Anda gunakan untuk membuat koneksi:
<?php
$host = 'localhost';
$user = 'root';
$password = 'password';
$database_name = 'nama_database';
// membuat koneksi
$connect = mysqli_connect($host, $user, $password, $database_name);
// cek koneksi
if (!$connect)
die('Koneksi gagal: ' . mysqli_connect_error());
echo 'Koneksi berhasil';
?>
Langkah 2 – Membuat Query untuk Mendapatkan Data
Setelah Anda berhasil membuat koneksi ke database MySQL, selanjutnya Anda harus membuat query untuk mendapatkan data yang ingin Anda export ke file Excel. Berikut adalah contoh kode untuk membuat query:
<?php
// buat query untuk mendapatkan data dari tabel database
$query = "SELECT * FROM nama_tabel";
// jalankan query
$result = mysqli_query($connect, $query);
// cek hasil query
if (!$result)
die('Query gagal: ' . mysqli_error($connect));
// ambil jumlah baris data
$row_count = mysqli_num_rows($result);
echo 'Data berhasil diambil, jumlah baris: ' . $row_count;
?>
Langkah 3 – Membuat File Excel dan Menulis Data
Setelah Anda berhasil mendapatkan data dari database, selanjutnya Anda harus membuat file Excel dan menulis data ke dalamnya menggunakan PHPExcel. Berikut adalah contoh kode untuk membuat file Excel dan menulis data:
<?php
// load PHPExcel library
require_once 'PHPExcel.php';
// buat objek PHPExcel
$excel = new PHPExcel();
// set properties file Excel
$excel->getProperties()->setCreator('Nama Anda')
->setLastModifiedBy('Nama Anda')
->setTitle('Judul File Excel')
->setSubject('Subject File Excel')
->setDescription('Deskripsi File Excel')
->setKeywords('contoh,file,excel');
// tambahkan data ke worksheet
$sheet = $excel->getActiveSheet();
$sheet->setCellValue('A1', 'Nama Kolom 1');
$sheet->setCellValue('B1', 'Nama Kolom 2');
$sheet->setCellValue('C1', 'Nama Kolom 3');
$row = 2;
while ($data = mysqli_fetch_array($result))
$sheet->setCellValue('A' . $row, $data['kolom_1']);
$sheet->setCellValue('B' . $row, $data['kolom_2']);
$sheet->setCellValue('C' . $row, $data['kolom_3']);
$row++;
// simpan file Excel
$writer = new PHPExcel_Writer_Excel2007($excel);
$writer->save('data.xlsx');
echo 'Data berhasil diexport ke file Excel';
?>
Langkah 4 – Mendownload File Excel
Setelah file Excel berhasil dibuat, selanjutnya Anda harus memberikan link download ke file tersebut. Berikut adalah contoh kode untuk memberikan link download:
<?php
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="data.xlsx"');
header('Cache-Control: max-age=0');
$file = 'data.xlsx';
readfile($file);
echo 'File Excel berhasil didownload';
?>
Cara Import Data Excel Ke MySQL
Setelah kita berhasil melakukan export database ke Excel, kita sekarang akan membahas cara import data dari Excel ke database MySQL. Berikut adalah langkah-langkahnya:
Langkah 1 – Membuat Form Upload File Excel
Untuk memungkinkan user mengupload file Excel, Anda harus membuat form upload file Excel menggunakan HTML dan PHP. Berikut adalah contoh kode untuk membuat form:
<form action="import.php" method="post" enctype="multipart/form-data">
<input type="file" name="file_excel" /><br />
<input type="submit" value="Import Data" />
</form>
Langkah 2 – Membuat Koneksi ke Database MySQL
Setelah user mengupload file Excel, selanjutnya kita harus membuat koneksi ke database MySQL menggunakan PHP. Berikut adalah contoh kode untuk membuat koneksi:
<?php
$host = 'localhost';
$user = 'root';
$password = 'password';
$database_name = 'nama_database';
// membuat koneksi
$connect = mysqli_connect($host, $user, $password, $database_name);
// cek koneksi
if (!$connect)
die('Koneksi gagal: ' . mysqli_connect_error());
echo 'Koneksi berhasil';
?>
Langkah 3 – Membaca Data dari File Excel
Setelah koneksi ke database MySQL berhasil dibuat, selanjutnya kita akan membaca data dari file Excel yang diupload oleh user menggunakan PHPExcel. Berikut adalah contoh kode untuk membaca data dari file Excel:
<?php
// load PHPExcel library
require_once 'PHPExcel.php';
// upload file Excel
$file_excel = $_FILES['file_excel']['tmp_name'];
// load file Excel
$excel_reader = PHPExcel_IOFactory::createReaderForFile($file_excel);
$excel_obj = $excel_reader->load($file_excel);
// ambil data dari worksheet
$worksheet = $excel_obj->getActiveSheet();
$highest_row = $worksheet->getHighestRow();
$highest_column = $worksheet->getHighestColumn();
for ($row = 2; $row <= $highest_row; $row++)
$data['kolom_1'] = $worksheet->getCellByColumnAndRow(0, $row)->getValue();
$data['kolom_2'] = $worksheet->getCellByColumnAndRow(1, $row)->getValue();
$data['kolom_3'] = $worksheet->getCellByColumnAndRow(2, $row)->getValue();
// simpan data ke database MySQL
$query = "INSERT INTO nama_tabel (kolom_1, kolom_2, kolom_3) VALUES ('" . $data['kolom_1'] . "', '" . $data['kolom_2'] . "', '" . $data['kolom_3'] . "')";
if (!mysqli_query($connect, $query))
die('Query gagal: ' . mysqli_error($connect));
echo 'Data berhasil diimport ke database MySQL';
?>
Langkah 4 – Menampilkan Hasil Import Data
Setelah data berhasil diimport ke database MySQL, kita akan menampilkan hasil import data ke dalam tabel HTML menggunakan PHP. Berikut adalah contoh kodenya:
<?php
// buat query untuk mendapatkan data dari tabel database
$query = "SELECT * FROM nama_tabel";
// jalankan query
$result = mysqli_query($connect, $query);
// cek hasil query
if (!$result)
die('Query gagal: ' . mysqli_error($connect));
// ambil jumlah baris data
$row_count = mysqli_num_rows($result);
// tampilkan data dalam tabel HTML
echo '<table border="1">';
echo '<tr>';
echo '<th>Kolom 1</th>';
echo '<th>Kolom 2</th>';
echo '<th>Kolom 3</th>';
echo '</tr>';
while ($data = mysqli_fetch_array($result))
echo '<tr>';
echo '<td>' . $data['kolom_1'] . '</td>';
echo '<td>' . $data['kolom_2'] . '</td>';
echo '<td>' . $data['kolom_3'] . '</td>';
echo '</tr>';
echo '</table>';
echo 'Data berhasil diimport, jumlah baris: ' . $row_count;
?>
FAQ
Pertanyaan 1 – Apa itu PHPExcel?
Jawaban: PHPExcel adalah sebuah library PHP yang digunakan untuk membaca dan menulis file Excel. Dengan PHPExcel, Anda dapat membuat, membaca, dan memodifikasi file Excel dengan mudah.
Pertanyaan 2 – Bisakah saya menggunakan library PHPExcel untuk menggenerate file Excel di server?
Jawaban: Ya, Anda bisa. Dengan PHPExcel, Anda dapat membuat file Excel di server dan menggunakannya untuk keperluan Anda.