Tutorial PHP - Import Data dari Excel ke Database MySQL dengan PHP


Setelah sebelumnya saya membahas bagaimana melakukan Export data dari tabel database, kurang pas rasanya jika belum membahas bagaimana membuat proses Import data dari file excel ke tabel database karena dalam membangun aplikasi kita tidak akan pernah lepas dari data dan database.

Cara ini dapat kita terapkan pada data yang berjumlah ribuan atau mungkin lebih sebab siapa yang sanggup menginputkan data sebanyak itu. meskipun ada mungkin hal itu akan memakan waktu yang cukup lama. Itulah sebabnya dibangun aplikasi untuk memudahkan pekerjaan kita.

1. Pertama, dalam ujicoba ini saya memiliki sebuah tabel (masih kosong) dalam database saya dengan struktur sebagai berikut

Import Data dari Excel ke Database MySQL dengan PHP

2. Kedua, Lakukan koneksi ke database. Berikut contoh script yang saya gunakan.
<?php 
mysql_connect("localhost","root","root");
mysql_select_db("biodata");
?>
3. Ketiga, Download Class PHP Excel Reader yang sudah saya persiapkan untuk anda disini. Extrack lalu letakan foldernya didalam direktori folder projek anda.

4. Keempat, Buatlah sebuah file excel dengan exstensi .xls dengan jumlah shell sesuai dengan field database. berikut adalah contoh yang saya gunakan

Import Data dari Excel ke Database MySQL dengan PHP

5. Berikutnya adalah membuat sebuah file PHP yang berisi script form html (1 Input dengan type file dan 1 Input dengan type submit) dengan contoh sebagai berikut.
<html>
<head>
 <title>Import Excel</title>
</head>
 
 <body>
 <form method="post" action="import.php" enctype="multipart/form-data">
 Pilih File <input type="file" name="datague"/>
 <br/><input type="submit" name="import" value="Import"/>
 </form>
 </body>
</html>
6. Langkah Terakhir adalah membuat script yang akan menjadi aksi dari form jika button submit ditekan pada file (step 5). Simpan dengan nama import.php. Ini Codingnya sebagai berikut
<?php
include "koneksi.php";
require_once 'Excel/reader.php';
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('CP1251');

// Ambil Value Dari Inputan Form
$fileexcel = $_FILES['datague']['name'];
$data->read($fileexcel);
 
for ($x=2; $x <= count($data->sheets[0]["cells"]); $x++) {
    // Mendefinisikan Shell dalam File Excel Sejumlah Field yang ada di tabel
    $nama = $data->sheets[0]["cells"][$x][1];
 $jeniskelamin = $data->sheets[0]["cells"][$x][2];
    $agama = $data->sheets[0]["cells"][$x][3];
 $alamat = $data->sheets[0]["cells"][$x][4];
 // Simpan Ke Tabel
    $simpan = mysql_query("INSERT INTO data (nama,jenis_kelamin,agama,alamat) VALUES ('$nama','$jeniskelamin','$agama','$alamat')");
 if (!$simpan){
 echo "Data Ke ".$x." GAGAL disimpan!";
 }
}
echo "<script>alert('Data Berhasil di Import!'); history.go(-1);</script>";
?>
Hasil yang saya peroleh adalah sebagai berikut. Sekedar info, Error Seperti The filename is not readable kemungkinan banyak terjadi disebabkan jenis file excel yang berbeda-beda. Jadi usahakan anda membuat file excel sendiri.

Import Data dari Excel ke Database MySQL dengan PHP

Posting Komentar