Sebagai seorang pengembang aplikasi atau website, seringkali kita dihadapkan pada tugas untuk memindahkan data dari file Excel ke dalam database. Hal ini bisa sangat merepotkan jika dilakukan secara manual satu per satu. Oleh karena itu, pada postingan kali ini kami akan membahas cara import data dari Excel ke dalam database MySQLi menggunakan PHP 7 terbaru.
Cara Import Data Excel Ke MySQLi Pada PHP 7 Terbaru
Sebelum memulai tutorial ini, pastikan Anda sudah memiliki database MySQLi yang siap digunakan. Jika belum memiliki silakan download MySQLi pada halaman https://www.mysql.com/products/workbench/ dan ikuti panduan instalasinya. Pastikan Anda juga sudah menginstal PHP 7 pada komputer Anda.
Langkah-langkahnya sebagai berikut:
1. Buat file PHP baru
Buat file PHP baru dan beri nama sesuai keinginan Anda. Kami beri nama file ini sebagai import_excel.php
. Kemudian, tulis kode berikut pada file tersebut:
<?php
// Koneksi ke MySQLi
$conn = mysqli_connect('localhost', 'username', 'password', 'nama_database');
if (!$conn)
die("Koneksi gagal: " . mysqli_connect_error());
// Include PHPExcel
include 'PHPExcel/Classes/PHPExcel.php';
// Load file Excel dan sheet pertama
$inputFileType = 'Excel5';
$inputFileName = 'file.xls';
$sheetname = 'Sheet1';
// Create new PHPExcel object
$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
// Get worksheet dimensions
$sheet = $objPHPExcel->getSheetByName($sheetname);
$highestRow = $sheet->getHighestRow();
$highestColumn = $sheet->getHighestColumn();
// Loop through each row of the worksheet in turn
for ($row = 1; $row <= $highestRow; $row++)
// Read a row of data into an array
$rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row,
'', true, false);
// Insert row data into database
$sql = "INSERT INTO your_table (col1, col2, col3) VALUES ('".$rowData[0][0]."', '".$rowData[0][1]."', '".$rowData[0][2]."')";
if (mysqli_query($conn, $sql))
echo "Data berhasil disimpan";
else
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
// Close MySQLi Connection
mysqli_close($conn);
?>
Dalam kode di atas, Anda perlu mengubah pengaturan koneksi database di baris ke-2 sesuai dengan pengaturan yang dibutuhkan oleh aplikasi Anda. Selain itu, ganti your_table
dengan nama tabel yang akan Anda gunakan untuk menyimpan data. Terakhir, ganti col1
, col2
, dan col3
dengan kolom Anda sendiri, sesuai dengan struktur tabel.
2. Install PHPExcel
Selanjutnya, Anda perlu menginstal PHPExcel agar bisa digunakan pada proses impor data dari Excel. Unduh PHPExcel terbaru pada halaman https://github.com/PHPOffice/PHPExcel/releases dan ekstrak ke folder yang diinginkan pada server Anda. Kami menempatkan folder PHPExcel di dalam folder htdocs/
pada server Apache.
3. Lakukan Impor Data Excel
Setelah PHPExcel terinstal dengan sukses, jalankan file import_excel.php
pada browser Anda. Jika semuanya berjalan dengan baik, data dari file Excel akan diimpor ke dalam database MySQLi yang digunakan.
FAQ’s
1. Apakah saya bisa mengimpor data Excel dengan skema tabel yang berbeda dari database saya?
Tentu saja bisa. Anda hanya perlu mengubah query SQL pada baris ke-13 agar sesuai dengan struktur tabel yang akan Anda gunakan. Misalnya, jika struktur tabel Anda seperti di bawah ini:
CREATE TABLE your_table ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(50) NOT NULL, age int(11) NOT NULL, gender varchar(10) NOT NULL, PRIMARY KEY (id) );
Maka kode SQL yang sesuai untuk baris ke-13 adalah:
$sql = "INSERT INTO your_table (name, age, gender) VALUES ('".$rowData[0][0]."', '".$rowData[0][1]."', '".$rowData[0][2]."')";
2. Apakah saya bisa mengimpor data dari file Excel yang memiliki lebih dari satu sheet?
Tentu saja bisa. Anda hanya perlu menambahkan beberapa baris pada kode di atas untuk membaca sheet yang berbeda. Misalnya, jika file Excel Anda memiliki tiga sheet dengan nama Sheet1
, Sheet2
, dan Sheet3
, Anda bisa menggunakan kode berikut:
<?php
// Koneksi ke MySQLi
$conn = mysqli_connect('localhost', 'username', 'password', 'nama_database');
if (!$conn)
die("Koneksi gagal: " . mysqli_connect_error());
// Include PHPExcel
include 'PHPExcel/Classes/PHPExcel.php';
// Load Excel file
$inputFileType = 'Excel5';
$inputFileName = 'file.xls';
// Loop through each sheet
foreach(['Sheet1', 'Sheet2', 'Sheet3'] as $sheetname)
// Create new PHPExcel object
$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
// Get worksheet dimensions
$sheet = $objPHPExcel->getSheetByName($sheetname);
$highestRow = $sheet->getHighestRow();
$highestColumn = $sheet->getHighestColumn();
// Loop through each row of the worksheet in turn
for ($row = 1; $row <= $highestRow; $row++)
// Read a row of data into an array
$rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row,
'', true, false);
// Insert row data into database
$sql = "INSERT INTO your_table (col1, col2, col3) VALUES ('".$rowData[0][0]."', '".$rowData[0][1]."', '".$rowData[0][2]."')";
if (mysqli_query($conn, $sql))
echo "Data berhasil disimpan";
else
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
// Close MySQLi Connection
mysqli_close($conn);
?>
Video Tutorial
Berikut ini adalah video tutorial cara import data Excel ke dalam database MySQLi menggunakan PHP 7 terbaru:
Summary
Tutorial ini membahas cara import data dari file Excel ke dalam database MySQLi dengan menggunakan PHP 7 terbaru dan library PHPExcel. Selain itu, juga terdapat FAQ mengenai pertanyaan-pertanyaan umum terkait proses import data. Semoga tutorial ini bermanfaat bagi Anda yang sedang mencari informasi atau panduan mengenai hal ini.