Sebagai seorang profesional di bidang kreatif, terkadang kita dihadapkan pada tugas yang membutuhkan pengolahan data. Salah satunya adalah impor dan ekspor data dari basis data ke Excel dan sebaliknya. Dalam postingan ini, kita akan membahas beberapa cara untuk melakukan impor dan ekspor data antara Excel dan basis data MySQL dengan menggunakan PHP.
Cara Import Data Excel ke MySQL
Untuk melakukan impor data dari Excel ke MySQL, kita dapat menggunakan library PHPExcel atau PHPSpreadsheet. Pada tutorial ini, kita akan menggunakan PHPSpreadsheet karena library ini lebih baru dan memiliki fitur yang lebih lengkap.
Langkah-langkah untuk melakukan impor data dari Excel ke MySQL dengan PHPSpreadsheet adalah sebagai berikut:
1. Pertama-tama, kita perlu menginstal PHPSpreadsheet. Kita dapat melakukan hal ini dengan menggunakan Composer. Caranya adalah sebagai berikut:
“`
composer require phpoffice/phpspreadsheet
“`
2. Setelah PHPSpreadsheet diinstal, kita dapat mulai mengimpor data dari Excel ke MySQL. Pertama, kita perlu mengupload file Excel yang berisi data yang akan diimpor ke server. Caranya bisa dengan menggunakan form upload atau dengan menggunakan FTP.
3. Setelah file Excel diupload ke server, kita dapat membaca data dari file tersebut menggunakan PHPSpreadsheet. Kode untuk membaca data dari file Excel dapat dilihat di bawah ini:
“`
use PhpOffice\PhpSpreadsheet\IOFactory;
$inputFileType = ‘Xlsx’;
$inputFileName = ‘path/to/file.xlsx’;
$spreadsheet = IOFactory::load($inputFileName);
$worksheet = $spreadsheet->getActiveSheet();
$data = [];
foreach ($worksheet->getRowIterator() as $row)
$rowData = [];
foreach ($row->getCellIterator() as $cell)
$rowData[] = $cell->getValue();
$data[] = $rowData;
“`
Kode di atas akan membaca data dari file Excel yang diupload ke server dan menyimpannya dalam variabel `$data`.
4. Selanjutnya, kita perlu menghubungkan ke basis data MySQL. Kita bisa menggunakan library MySQLi atau PDO untuk melakukan koneksi ke basis data.
“`
$host = ‘localhost’;
$username = ‘username’;
$password = ‘password’;
$dbname = ‘database_name’;
$mysqli = new mysqli($host, $username, $password, $dbname);
if ($mysqli->connect_error)
die(‘Connection failed: ‘ . $mysqli->connect_error);
“`
5. Setelah terhubung ke basis data MySQL, kita dapat mengimpor data yang telah dibaca dari file Excel ke dalam tabel di basis data MySQL. Kode untuk mengimpor data ke MySQL dapat dilihat di bawah ini:
“`
foreach ($data as $row)
$values = [];
foreach ($row as $value)
$values[] = “‘” . $mysqli->real_escape_string($value) . “‘”;
$query = ‘INSERT INTO table_name (column1, column2, column3) VALUES (‘ . implode(‘,’, $values) . ‘)’;
$mysqli->query($query);
“`
Kode di atas akan mengimpor data yang telah dibaca dari file Excel ke dalam tabel di basis data MySQL. Pastikan untuk mengubah `table_name`, `column1`, `column2`, dan `column3` sesuai dengan nama tabel dan kolom yang digunakan di basis data MySQL.
Cara Membuat Export Data dari Database ke Excel
Setelah kita berhasil mengimpor data dari Excel ke MySQL, kita juga bisa melakukan ekspor data dari MySQL ke Excel. Dalam tutorial ini, kita akan menggunakan PHPSpreadsheet lagi untuk melakukan ekspor data dari MySQL ke Excel.
Langkah-langkah untuk melakukan ekspor data dari MySQL ke Excel dengan PHPSpreadsheet adalah sebagai berikut:
1. Pertama-tama, kita perlu mengambil data dari tabel di basis data MySQL. Kode untuk mengambil data dari tabel dapat dilihat di bawah ini:
“`
$query = ‘SELECT * FROM table_name’;
$result = $mysqli->query($query);
$data = [];
while ($row = $result->fetch_assoc())
$data[] = $row;
“`
Kode di atas akan mengambil semua data dari tabel di basis data MySQL dan menyimpannya dalam variabel `$data`.
2. Setelah data diambil dari basis data MySQL, kita dapat menggunakan PHPSpreadsheet untuk menulis data tersebut ke dalam file Excel. Kode untuk menulis data ke dalam file Excel dapat dilihat di bawah ini:
“`
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
$spreadsheet = new Spreadsheet();
$worksheet = $spreadsheet->getActiveSheet();
$columnIndex = 1;
$rowIndex = 1;
foreach ($data as $row)
foreach ($row as $column => $value)
$columnIndex = ord($column) – 64;
if ($rowIndex === 1)
$worksheet->setCellValueByColumnAndRow($columnIndex, $rowIndex, $column);
$worksheet->setCellValueByColumnAndRow($columnIndex, $rowIndex + 1, $value);
$rowIndex++;
$writer = new Xlsx($spreadsheet);
$outputFileName = ‘path/to/output.xlsx’;
$writer->save($outputFileName);
“`
Kode di atas akan menulis data yang telah diambil dari basis data MySQL ke dalam file Excel. Pastikan untuk mengubah `path/to/output.xlsx` sesuai dengan path di server tempat file Excel akan disimpan.
FAQ
Q: Apa itu PHPSpreadsheet?
A: PHPSpreadsheet adalah library PHP yang digunakan untuk membaca dan menulis file Excel. Library ini lebih baru dan lebih lengkap dibandingkan dengan library PHPExcel.
Q: Apa itu koneksi PDO?
A: PDO adalah library PHP yang digunakan untuk menghubungkan ke basis data MySQL. PDO menyediakan API yang sama untuk mengakses berbagai jenis basis data, sehingga memudahkan kita jika ingin menggunakan basis data yang berbeda dari MySQL di kemudian hari.
Video Tutorial Impor dan Ekspor Data antara Excel dan MySQL
Untuk tutorial yang lebih visual, berikut ini adalah video tutorial impor dan ekspor data antara Excel dan MySQL yang dapat Anda tonton:
[youtube video_id=”-hV4Q5Mprhw”]Dalam video tutorial ini, Anda akan belajar cara impor dan ekspor data antara Excel dan MySQL dengan menggunakan PHPSpreadsheet dan PDO.
Kesimpulan
Demikianlah tutorial impor dan ekspor data antara Excel dan MySQL dengan menggunakan PHPSpreadsheet dan PDO. Dengan menggunakan library PHP seperti PHPSpreadsheet dan PDO, kita dapat dengan mudah mengimpor dan mengekspor data antara Excel dan basis data MySQL. Terima kasih telah membaca!