Import Excel Ke Mysql Menggunakan PHP - HarviaCode
Import Excel Ke Mysql Menggunakan PHP - HarviaCode
com/2014/08/21/import-excel-ke-mysql-menggunakan-php/
Kemarin banyak request dari pengunjung harviacode.com tentang bagaimana cara import data dari file excel
ke dalam tabel mysql menggunakan PHP. Oleh karena itu pada kesempatan ini saya akan coba menulis
tentang bagaimana cara import file excel ke mysql menggunakan PHP.
Pada contoh berikut ini kita akan membuat import data pegawai yang terdiri dari nama, tempat lahir dan
tanggal lahir. Berikut ini adalah langkah-langkahnya.
Step 1 : Download excel_reader.php di sini dan masukkan ke dalam folder project anda.
1 of 5 4/1/2016 6:04 PM
Import excel ke mysql menggunakan PHP - HarviaCode http://harviacode.com/2014/08/21/import-excel-ke-mysql-menggunakan-php/
pegawai MySQL
Step 3 : Buatlah file pegawai.xls (Harus dalam format Ms Excel 2003) dengan data seperti gambar berikut
Step 4 : Buatlah file import.php dalam project anda dengan sintaks sebagai berikut.
import.php PHP
1 <?php
2 //koneksi ke database, username,password dan namadatabase menyesuaikan
3 mysql_connect('localhost', 'username', 'password');
4 mysql_select_db('namadatabase');
5
6 //memanggil file excel_reader
7 require "excel_reader.php";
8
9 //jika tombol import ditekan
10 if(isset($_POST['submit'])){
11
2 of 5 4/1/2016 6:04 PM
Import excel ke mysql menggunakan PHP - HarviaCode http://harviacode.com/2014/08/21/import-excel-ke-mysql-menggunakan-php/
12 $target = basename($_FILES['filepegawaiall']['name']) ;
13 move_uploaded_file($_FILES['filepegawaiall']['tmp_name'], $target);
14
15 $data = new Spreadsheet_Excel_Reader($_FILES['filepegawaiall']['name'],false);
16
17 // menghitung jumlah baris file xls
18 $baris = $data->rowcount($sheet_index=0);
19
20 // jika kosongkan data dicentang jalankan kode berikut
21 $drop = isset( $_POST["drop"] ) ? $_POST["drop"] : 0 ;
22 if($drop == 1){
23 // kosongkan tabel pegawai
24 $truncate ="TRUNCATE TABLE pegawai";
25 mysql_query($truncate);
26 };
27
28 // import data excel mulai baris ke-2 (karena tabel xls ada header pada baris 1)
29 for ($i=2; $i<=$baris; $i++)
30 {
31 // membaca data (kolom ke-1 sd terakhir)
32 $nama = $data->val($i, 1);
33 $tempat_lahir = $data->val($i, 2);
34 $tanggal_lahir = $data->val($i, 3);
35
36 // setelah data dibaca, masukkan ke tabel pegawai sql
37 $query = "INSERT into pegawai (nama,tempat_lahir,tanggal_lahir)values('$nama','$tempat_lahir','$tanggal_lahir')"
38 $hasil = mysql_query($query);
39 }
40
41 if(!$hasil){
42 // jika import gagal
43 die(mysql_error());
44 }else{
45 // jika impor berhasil
46 echo "Data berhasil diimpor.";
47 }
48
49 // hapus file xls yang udah dibaca
50 unlink($_FILES['filepegawaiall']['name']);
51 }
52
53 ?>
54
55 <form name="myForm" id="myForm" onSubmit="return validateForm()" action="import.php" method="post" enctype
56 <input type="file" id="filepegawaiall" name="filepegawaiall" />
57 <input type="submit" name="submit" value="Import" /><br/>
58 <label><input type="checkbox" name="drop" value="1" /> <u>Kosongkan tabel sql terlebih dahulu.</u>
59 </form>
3 of 5 4/1/2016 6:04 PM
Import excel ke mysql menggunakan PHP - HarviaCode http://harviacode.com/2014/08/21/import-excel-ke-mysql-menggunakan-php/
60
61 <script type="text/javascript">
62 // validasi form (hanya file .xls yang diijinkan)
63 function validateForm()
64 {
65 function hasExtension(inputID, exts) {
66 var fileName = document.getElementById(inputID).value;
67 return (new RegExp('(' + exts.join('|').replace(/\./g, '\\.') + ')$')).test(fileName);
68 }
69
70 if(!hasExtension('filepegawaiall', ['.xls'])){
71 alert("Hanya file XLS (Excel 2003) yang diijinkan.");
72 return false;
73 }
74 }
75 </script>
Step 5 : Jalankan import.php melalui browser, maka akan tampil halaman sebagai berikut.
Step 6 : Cobalah untuk mengimport pegawai.xls yang telah kita buat tadi. Bila tidak ada masalah, akan
muncul pesan data berhasil diimpor. Bukalah tabel pegawai pada mysql, maka data akan masuk
sebagaimana gambar berikut ini.
4 of 5 4/1/2016 6:04 PM
Import excel ke mysql menggunakan PHP - HarviaCode http://harviacode.com/2014/08/21/import-excel-ke-mysql-menggunakan-php/
Catatan : Jika anda mencentang checkbox ‘Kosongkan tabel sql terlebih dahulu.’ saat import, maka data
yang ada dalam tabel pegawai mysql akan dihapus terlebih dulu, baru kemudian data dimasukkan.
Pada artikel berikutnya (di sini), kita akan menambahkan progress bar, sehingga pengguna bisa mengetahui
berapa jumlah data yang telah berhasil diimport.
Baca juga : Cara export data dari mysql ke excel menggunakan PHP
Cukup mudah bukan.. Semoga bermanfaat dan terima kasih atas kunjungan Anda.
admin
5 of 5 4/1/2016 6:04 PM