Memahami cara mengimpor data dari Excel ke MySQL bisa sangat membantu ketika melakukan pekerjaan yang membutuhkan pengolahan data di basis data yang lebih besar dan kompleks. Dalam tutorial ini, kita akan belajar cara mengimpor data dari Excel ke MySQL dengan menggunakan PHP.
Cara Membuat IMPORT EXCEL ke MySQL dengan PHP
Sebelum kita mulai, pastikan bahwa Anda sudah memiliki software XAMPP atau sejenisnya yang terinstall di komputer Anda. Software ini berfungsi sebagai server lokal yang akan memudahkan dalam pengembangan web dan aplikasi yang menggunakan PHP. Selanjutnya, pastikan juga bahwa Anda sudah memiliki file Excel yang akan diimpor ke MySQL.
Langkah pertama dalam proses ini adalah membuat sebuah file PHP dengan nama impor_excel.php. Buatlah file ini di dalam folder htdocs, folder tempat di mana kita biasanya menyimpan file-file yang akan dijalankan di dalam server lokal.
Kemudian, kita perlu menginstal sebuah library PHPExcel, yang merupakan library PHP yang sangat berguna untuk membaca dan menulis file Excel. Untuk menginstal library ini, Anda bisa mengunjungi website resminya dan mengikuti instruksinya.
Proses Membaca Data di File Excel
Dalam tahap selanjutnya, kita perlu membaca data yang ada di dalam file Excel yang akan diimpor ke MySQL. Untuk melakukan ini, kita memerlukan kode PHP seperti di bawah ini:
require_once 'Classes/PHPExcel.php'; $inputFileName = 'nama_file_excel.xlsx'; $objReader = PHPExcel_IOFactory::createReaderForFile($inputFileName); $objPHPExcel = $objReader->load($inputFileName); $worksheet = $objPHPExcel->getSheet(0); $highestRow = $worksheet->getHighestRow(); $highestColumn = $worksheet->getHighestColumn(); $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn); $dataArray = array(); for ($row = 1; $row <= $highestRow; ++$row) for ($col = 0; $col < $highestColumnIndex; ++$col) $dataArray[$row][$col] = $worksheet->getCellByColumnAndRow($col, $row)->getValue();
Dalam kode di atas, kita pertama-tama mengimpor library PHPExcel menggunakan perintah ini:
require_once 'Classes/PHPExcel.php';
Setelah itu, kita menggunakan perintah ini untuk membaca data di file Excel yang sudah ada:
$inputFileName = 'nama_file_excel.xlsx'; $objReader = PHPExcel_IOFactory::createReaderForFile($inputFileName); $objPHPExcel = $objReader->load($inputFileName); $worksheet = $objPHPExcel->getSheet(0); $highestRow = $worksheet->getHighestRow(); $highestColumn = $worksheet->getHighestColumn();
Dalam kode di atas, $inputFileName adalah nama file Excel yang akan diimpor. Setelah membaca data dari file Excel, kita menentukan variabel $highestRow dan $highestColumn. Variabel $highestRow berisi jumlah baris data yang ada di file Excel, sedangkan variabel $highestColumn berisi huruf yang menunjukkan kolom terakhir yang berisi data.
Setelah itu, kita mengolah data yang sudah dibaca dari file Excel agar bisa disimpan ke dalam tabel MySQL. Kita membuat sebuah array kosong bernama $dataArray sebagai wadah untuk menyimpan data dari file Excel, kemudian kita menggunakan perintah berikut untuk memasukkan data ke dalam array:
for ($row = 1; $row <= $highestRow; ++$row) for ($col = 0; $col < $highestColumnIndex; ++$col) $dataArray[$row][$col] = $worksheet->getCellByColumnAndRow($col, $row)->getValue();
Di dalam loop for ini, kita membaca setiap cell Excel dan menyimpan nilainya ke dalam array $dataArray. Variabel $row menunjukkan nomor baris, sedangkan variabel $col menunjukkan nomor kolom, yang nilainya dapat dihitung dengan perintah berikut:
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
Setelah proses ini selesai, kita siap untuk menyimpan data yang sudah dibaca dari file Excel ke dalam tabel MySQL.
Proses Memasukkan Data ke Dalam Tabel MySQL
Setelah kita membaca data dari file Excel dan menyimpannya ke dalam array $dataArray, selanjutnya kita akan memasukkan data tersebut ke dalam tabel MySQL. Untuk melakukan ini, kita membutuhkan beberapa variabel dan kode PHP, seperti di bawah ini:
$servername = "localhost"; $username = "username_mysql"; $password = "password_mysql"; $dbname = "nama_database_mysql"; $conn = new mysqli($servername, $username, $password, $dbname); for ($row = 1; $row <= $highestRow; ++$row) $sql = "INSERT INTO nama_tabel_mysql (kolom1, kolom2, kolom3) VALUES ('".$dataArray[$row][0]."', '".$dataArray[$row][1]."', '".$dataArray[$row][2]."')"; $conn->query($sql); $conn->close();
Dalam kode di atas, kita membuat koneksi ke server MySQL menggunakan perintah berikut:
$servername = "localhost"; $username = "username_mysql"; $password = "password_mysql"; $dbname = "nama_database_mysql"; $conn = new mysqli($servername, $username, $password, $dbname);
Setelah itu, kita menggunakan loop for untuk membaca setiap baris data di dalam array $dataArray, dan memasukkan datanya ke dalam tabel MySQL menggunakan perintah SQL INSERT INTO. Kita menggunakan perintah berikut untuk melakukan hal ini:
$sql = "INSERT INTO nama_tabel_mysql (kolom1, kolom2, kolom3) VALUES ('".$dataArray[$row][0]."', '".$dataArray[$row][1]."', '".$dataArray[$row][2]."')"; $conn->query($sql);
Pada perintah SQL di atas, kita mengganti nama_tabel_mysql dengan nama tabel MySQL yang kita gunakan, dan mengganti kolom1, kolom2, dan kolom3 dengan nama kolom-kolom di tabel tersebut. Setelah itu, kita menggunakan perintah $dataArray[$row][0], $dataArray[$row][1], dan $dataArray[$row][2] untuk mengambil nilai dari kolom-kolom ini dari array $dataArray.
Setelah proses memasukkan data ke dalam tabel MySQL selesai, kita menutup koneksi ke server MySQL dengan perintah:
$conn->close();
FAQ
1. Apa itu PHPExcel?
PHPExcel adalah sebuah library PHP yang sangat berguna untuk membaca dan menulis file Excel. Library ini memiliki banyak fitur yang bisa membantu dalam pengolahan data di Excel, seperti manipulasi cell, filtering, dan konversi format data.
2. Apakah proses mengimpor data dari Excel ke MySQL bisa dilakukan secara otomatis?
Ya, proses ini bisa dilakukan secara otomatis dengan menggunakan teknologi seperti cron job. Dalam cron job, Anda bisa menentukan jadwal untuk menjalankan file PHP yang berisi proses import data dari Excel, sehingga proses ini bisa dilakukan secara teratur tanpa perlu melakukannya secara manual setiap harinya.
Video Tutorial
Kesimpulan
Mengimpor data dari Excel ke MySQL bisa sangat membantu ketika melakukan pekerjaan yang membutuhkan pengolahan data di basis data yang lebih besar dan kompleks. Dalam tutorial ini, kita telah belajar cara mengimpor data dari Excel ke MySQL dengan menggunakan PHPExcel dan PHP. Proses ini meliputi membaca data dari file Excel, menyimpan data ke dalam array, dan memasukkan data ke dalam tabel MySQL.
Dalam proses ini, kita juga telah mempelajari cara menggunakan library PHPExcel untuk membaca dan menulis file Excel. Selain itu, kita juga sudah mengenal beberapa perintah dasar PHP yang dibutuhkan dalam proses ini, seperti membuat koneksi ke server MySQL dan menggunakan perintah SQL untuk memasukkan data ke dalam tabel MySQL.