Cara Membuat Import Data Excel ke Database MySQL dengan PHP
Jika Anda memiliki data dalam format Excel dan ingin memasukkannya ke dalam database MySQL, Anda dapat melakukannya dengan mudah menggunakan PHP. Berikut adalah langkah-langkah yang perlu Anda ikuti untuk melakukan hal ini.
1. Membuat Database dan Tabel di MySQL
Langkah pertama yang harus Anda lakukan adalah membuat database dan tabel di MySQL. Anda dapat melakukannya dengan menjalankan perintah SQL berikut di terminal MySQL:
“`
CREATE DATABASE nama_database;
USE nama_database;
CREATE TABLE nama_tabel (
kolom_1 VARCHAR(255),
kolom_2 VARCHAR(255),
kolom_3 INT,
kolom_4 DATE
);
“`
Pastikan bahwa nama_database adalah nama dari database yang ingin Anda buat dan nama_tabel adalah nama dari tabel yang ingin Anda buat. Kolom disesuaikan dengan informasi yang ingin Anda simpan dari data Excel Anda.
2. Mengupload File Excel
Langkah berikutnya adalah mengupload file Excel ke server web Anda. Anda dapat melakukannya dengan menggunakan formulir HTML yang berisi input file seperti ini:
“`
“`
Pastikan bahwa action diatur ke file proses_upload.php, yang akan melakukan tindakan yang diperlukan pada file Excel yang diupload.
3. Memproses File Excel
Setelah file Excel berhasil diupload, langkah berikutnya adalah memprosesnya dengan PHP. Anda dapat menggunakan library PHPExcel untuk membaca file Excel dan mengekstrak data dari dalamnya.
“`
// Load the PHPExcel Classes
require_once ‘Classes/PHPExcel.php’;
require_once ‘Classes/PHPExcel/IOFactory.php’;
// Initialize the Object
$excel = PHPExcel_IOFactory::load($_FILES[‘file_excel’][‘tmp_name’]);
// Get the First Worksheet
$worksheet = $excel->getActiveSheet();
// Iterate Through Each Row
foreach ($worksheet->getRowIterator() as $row)
// Get the Cell Iterator
$cellIterator = $row->getCellIterator();
// Iterate Through Each Cell
foreach ($cellIterator as $cell)
// Get the Value of the Cell
$value = $cell->getValue();
“`
Pastikan bahwa nama file Excel yang diupload disimpan di $_FILES[‘file_excel’][‘tmp_name’], dan bahwa kolom-kolom yang didefinisikan di dalam SQL tabel Anda sesuai dengan data yang diekstrak dari file Excel.
4. Memasukkan Data ke Database MySQL
Setelah Anda berhasil mengekstrak data dari file Excel, langkah terakhir adalah memasukkannya ke dalam database MySQL. Anda dapat melakukannya dengan menjalankan perintah SQL menggunakan koneksi PDO.
“`
// Connect to the Database
$pdo = new PDO(‘mysql:host=localhost;dbname=nama_database’, ‘username’, ‘password’);
// Prepare the SQL Statement
$stmt = $pdo->prepare(‘INSERT INTO nama_tabel (kolom_1, kolom_2, kolom_3, kolom_4) VALUES (:kolom_1, :kolom_2, :kolom_3, :kolom_4)’);
// Iterate Through Each Row
foreach (…)
// Set the Values of the Parameters
$stmt->bindValue(‘:kolom_1’, $value_of_kolom_1);
$stmt->bindValue(‘:kolom_2’, $value_of_kolom_2);
$stmt->bindValue(‘:kolom_3’, $value_of_kolom_3);
$stmt->bindValue(‘:kolom_4’, $value_of_kolom_4);
// Execute the SQL Statement
$stmt->execute();
“`
Pastikan bahwa Anda mengganti nama_database, username, password, dan nama_tabel sesuai dengan pengaturan MySQL Anda, dan bahwa kolom-kolom yang didefinisikan di dalam SQL tabel Anda sesuai dengan data yang diekstrak dari file Excel.
5. FAQ
Q1: Apakah saya dapat mengubah SQL statement untuk mengupdate data yang sudah ada di tabel, jika terjadi duplikat data?
A1: Ya, Anda dapat mengubah SQL statement untuk mengupdate data yang sudah ada di tabel. Anda perlu menambahkan pernyataan ON DUPLICATE KEY UPDATE ke dalam SQL statement. Contohnya sebagai berikut:
“`
INSERT INTO nama_tabel (kolom_1, kolom_2, kolom_3, kolom_4)
VALUES (:kolom_1, :kolom_2, :kolom_3, :kolom_4)
ON DUPLICATE KEY UPDATE kolom_1 = VALUES(kolom_1), kolom_2 = VALUES(kolom_2), kolom_3 = VALUES(kolom_3), kolom_4 = VALUES(kolom_4)
“`
Q2: Apakah ada cara untuk memasukkan data ke dalam tabel yang berbeda dengan struktur kolom yang berbeda tanpa melakukan perubahan pada SQL statement?
A2: Ya, ada cara untuk memasukkan data ke dalam tabel yang berbeda dengan struktur kolom yang berbeda tanpa melakukan perubahan pada SQL statement. Anda dapat menggunakan konsep pemetaan objek-relasional (ORM) untuk memetakan objek data Anda ke dalam tabel database. ORM seperti Doctrine atau CakePHP dapat membantu Anda melakukan ini dengan mudah.
6. Video Tutorial
Berikut adalah video tutorial yang dapat membantu Anda memahami cara membuat import data Excel ke MySQL dengan PHP: