Cara Import Data Excel ke Database MySQL dengan PHP
Import data dari file excel ke database MySQL merupakan hal yang tidak bisa dihindari dalam pengembangan aplikasi yang menggunakan database sebagai sumber data. Ada beberapa cara untuk melakukan import data excel ke MySQL, salah satunya adalah dengan menggunakan PHP. Dalam artikel ini, kita akan membahas cara import data excel ke database MySQL dengan PHP dan juga tips untuk melakukan import data yang sukses.
Langkah 1: Buat Tabel pada Database
Langkah pertama dalam melakukan import data excel ke database MySQL adalah dengan membuat tabel pada database untuk menyimpan data yang akan diimport. Berikut adalah contoh pembuatan tabel pada database MySQL:
“`
CREATE TABLE `produk` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nama` varchar(50) NOT NULL,
`keterangan` text NOT NULL,
`harga` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
“`
Tabel ini akan digunakan untuk menyimpan data produk yang akan diimport dari file excel.
Langkah 2: Unduh Library PHPSpreadsheet
Langkah selanjutnya adalah mengunduh library PHPSpreadsheet melalui Composer. PHPSpreadsheet adalah library PHP yang dapat digunakan untuk membaca dan menulis file excel. Untuk mengunduh PHPSpreadsheet, lakukan perintah berikut pada terminal:
“`
composer require phpoffice/phpspreadsheet
“`
Langkah 3: Buat Form untuk Upload File Excel
Langkah ketiga adalah membuat form untuk upload file excel. Berikut adalah contoh form yang bisa digunakan:
“`
“`
Pada form di atas, kita menggunakan atribut enctype dengan nilai multipart/form-data yang berfungsi untuk mengirimkan data berupa file.
Langkah 4: Import Data Excel
Setelah form berhasil diupload, selanjutnya kita bisa mengambil data dari file excel dan menyimpannya ke dalam tabel yang telah dibuat pada database. Berikut adalah contoh kode yang dapat digunakan untuk melakukan import data:
“`php
use PhpOffice\PhpSpreadsheet\IOFactory;
if (isset($_POST[‘submit’]))
$file = $_FILES[‘file’][‘tmp_name’];
$reader = IOFactory::createReader(‘Xlsx’);
$spreadsheet = $reader->load($file);
$worksheet = $spreadsheet->getActiveSheet();
$highestRow = $worksheet->getHighestRow();
for ($row = 2; $row <= $highestRow; $row++)
$nama = $worksheet->getCellByColumnAndRow(1, $row)->getValue();
$keterangan = $worksheet->getCellByColumnAndRow(2, $row)->getValue();
$harga = $worksheet->getCellByColumnAndRow(3, $row)->getValue();
$sql = “INSERT INTO produk (nama, keterangan, harga) VALUES (‘$nama’, ‘$keterangan’, $harga)”;
$hasil = mysqli_query($koneksi, $sql);
if (!$hasil)
echo “Terjadi kesalahan saat mengimport data”;
“`
Pada contoh kode di atas, kita menggunakan library PHPSpreadsheet untuk membaca file excel dan mengambil data dari baris dan kolom tertentu dari file excel. Data yang telah diambil akan disimpan ke dalam variabel dan kemudian diinsert ke dalam tabel pada database MySQL.
Tips untuk Import Data Excel yang Berhasil
Berikut adalah beberapa tips untuk melakukan import data excel yang berhasil:
1. Pastikan format data dalam file excel sudah benar
Sebelum melakukan import data, pastikan bahwa format data pada file excel sudah benar. Misalnya, pastikan bahwa data tanggal dalam format yang benar dan data numerik dalam format angka yang benar.
2. Gunakan PHPExcel sesuai dengan kebutuhan
PHPSpreadsheet memiliki banyak fitur yang dapat digunakan dalam membaca dan menulis file excel. Namun, pastikan bahwa kita hanya menggunakan fitur yang benar-benar diperlukan dalam proses import data. Ini akan membantu mempercepat proses import data dan menghindari kegagalan dalam proses tersebut.
FAQ tentang Import Data Excel ke Database MySQL
1. Apakah file excel dengan ekstensi .xls bisa diimport ke database MySQL menggunakan PHP?
Jawabannya, tidak. File excel dengan ekstensi .xls tidak dapat diimport ke MySQL menggunakan PHP. Kita perlu menggunakan file dengan ekstensi .xlsx.
2. Bagaimana jika pada file excel terdapat beberapa kolom yang tidak ingin diimport ke database MySQL?
Untuk menghindari import data yang tidak diinginkan, sebaiknya kita membuat form upload yang tepat dan hanya memperbolehkan untuk mengupload file excel dengan kolom yang sesuai. Jika hal ini tidak memungkinkan untuk dilakukan, maka kita perlu menghapus kolom yang tidak diinginkan pada file excel sebelum melakukan import data.