rosihan ari's blog » membuat script php import data ms. excel ke mysql » print
DESCRIPTION
programmingTRANSCRIPT
- Rosihan Ari's Blog - http://blog.rosihanari.net -
Membuat Script PHP Import Data MS. Excel Ke MySQLPosted By rosihanari On May 30, 2010 @ 6:43 am In PHP,SQL | 170 Comments
Sebenarnya topik tentang cara membuat script import data excel ke mysql [1] sudah banyakditanyakan rekans pengunjung setia blog ini [2]. Namun… maaf baru sempat kali ini membuatartikelnya
Mengapa script import data Excel ke MySQL ini perlu dibuat? ya.. karena tool-tool sepertiphpMyAdmin belum mendukungnya. Kalau tidak salah phpMyAdmin hanya mendukung importdata dalam bentuk format SQL maupun CSV. Sebenarnya ada sih tool yang mendukung importdata dalam format Excel, seperti Navicat dan SQLyog. Namun keduanya adalah tool berbayar
Nah… untuk membuat script import data Excel ke MySQL ini nanti kita akan memanfaatkan classPHPExcelReader [3] yang dibuat oleh Vadim Tkachenko. Class ini sebenarnya hanyadiperuntukkan untuk membaca file Excel saja, namun dengan sedikit modifikasi danpengembangan dapat kita gunakan untuk melakukan import data Excel ke MySQL.
Oya… file Excel yang bisa dibaca oleh class PHPExcelReader ini untuk sementara hanya yang dibawah MS. Office 2007 atau Office 97-2003 saja. Dengan kata lain class ini tidak bisa digunakanuntuk membaca file Excel yang berekstensi (*.xlsx). Oleh karena itu pastikan file Excel yang akanAnda import berekstensi *.xls.
Sebelum kita membuat script import datanya, silakan download terlebih dahulu classPHPExcelReader nya di bawah ini
Download Class [4]
Selanjutnya, kita akan membuat script import datanya. Dalam script yang akan kita buat ini,class tersebut nantinya akan kita includekan di dalamnya.
Untuk contoh kasus yang akan kita pilih di sini adalah import data mahasiswa. Berikut ini strukturtabel MySQL nya.
CREATE TABLE `mhs` ( `nim` varchar(10), `namamhs` varchar(30), `alamat` text, PRIMARY KEY (`nim`))
Kemudian andaikan kita memiliki file data Excel seperti gambar di bawah ini
Dalam proses import data nanti, kita akan menggunakan bentuk form upload file. Oleh karenaitu, pertama kita buat form uploadnya sbb:
import.php
<h1>Import Data Asrama</h1>
<form method="post" enctype="multipart/form-data" action="proses.php">
Silakan Pilih File Excel: <input name="userfile" type="file"><input name="upload" type="submit" value="Import"></form>
Selanjutnya, kita buat script untuk proses upload dan import datanya. Oya… meskipun kitamenggunakan form upload file, namun file Excel yang kita upload tersebut tidak akan tersimpandi server secara permanen namun hanya bersifat temporary yang otomatis akan terhapus setelahproses import datanya selesai.
proses.php
<?php// menggunakan class phpExcelReaderinclude "excel_reader2.php";
// koneksi ke mysqlmysql_connect("dbHost", "dbUser", "dbPass");mysql_select_db("dbname");
// membaca file excel yang diupload$data = new Spreadsheet_Excel_Reader($_FILES['userfile']['tmp_name']);
// membaca jumlah baris dari data excel$baris = $data->rowcount($sheet_index=0);
// nilai awal counter untuk jumlah data yang sukses dan yang gagal diimport$sukses = 0;$gagal = 0;
// import data excel mulai baris ke-2 (karena baris pertama adalah nama kolom)for ($i=2; $i<=$baris; $i++){ // membaca data nim (kolom ke-1) $nim = $data->val($i, 1); // membaca data nama (kolom ke-2) $nama = $data->val($i, 2); // membaca data alamat (kolom ke-3) $alamat = $data->val($i, 3);
// setelah data dibaca, sisipkan ke dalam tabel mhs $query = "INSERT INTO mhs VALUES ('$nim', '$nama', '$alamat')"; $hasil = mysql_query($query);
// jika proses insert data sukses, maka counter $sukses bertambah // jika gagal, maka counter $gagal yang bertambah if ($hasil) $sukses++; else $gagal++;}
// tampilan status sukses dan gagalecho "<h3>Proses import data selesai.</h3>";echo "<p>Jumlah data yang sukses diimport : ".$sukses."<br>";echo "Jumlah data yang gagal diimport : ".$gagal."</p>";
?>
Setelah script di atas dijalankan, maka berikut ini isi tabel mhs setelah proses import datanya
Nah.. mudah bukan?? Oya.. pastikan class phpExcelReader tersebut terletak dalam folder yangsama dengan kedua script di atas.
Dalam membuat file Excel, Anda tetap bisa menggunakan Office 2007 asal ketika menyimpanfilenya, pastikan formatnya adalah Excel 97-2003 worksheet (pilih Save As Type: Excel 97-2003Worksheet).
Semoga artikel ini bermanfaat…
[5] [6]
Baca Juga Artikel Terkait
Import Data Format XML ke MySQL dengan Script PHP [7]
Script PHP untuk Membuat Report Format MS. Excel [8]
Export Data Dari MySQL ke XML dengan PHP [9]
Script INSERT Data Dengan PHP dan MS. Access [10]
Script Cari Data File Yang Terupload Ke MySQL [11]
Article printed from Rosihan Ari's Blog: http://blog.rosihanari.net
URL to article: http://blog.rosihanari.net/membuat-script-php-import-data-ms-excel-ke-mysql/
URLs in this post:
[1] import data excel ke mysql: http://blog.rosihanari.net/membuat-script-php-import-data-ms-excel-ke-mysql[2] blog ini: http://blog.rosihanari.net[3] PHPExcelReader: http://sourceforge.net/projects/phpexcelreader[4] Download Class: http://www.4shared.com/file/1xmtEZeZ/excel_reader2.html[5] Image: #[6] Image: http://twitter.com/home?status=Membuat Script PHP Import Data MS. ExcelKe MySQL - http://blog.rosihanari.net/membuat-script-php-import-data-ms-excel-ke-mysql/[7] Import Data Format XML ke MySQL dengan Script PHP: http://blog.rosihanari.net/import-data-format-xml-ke-mysql-dengan-script-php/[8] Script PHP untuk Membuat Report Format MS. Excel: http://blog.rosihanari.net/script-php-untuk-membuat-report-format-ms-excel/[9] Export Data Dari MySQL ke XML dengan PHP: http://blog.rosihanari.net/export-data-dari-mysql-ke-xml-dengan-php/[10] Script INSERT Data Dengan PHP dan MS. Access: http://blog.rosihanari.net/script-insert-data-dengan-php-dan-ms-access/[11] Script Cari Data File Yang Terupload Ke MySQL: http://blog.rosihanari.net/script-cari-data-file-yang-terupload-ke-mysql/
Copyright © 2012 Rosihan Ari's Blog. All rights reserved.
Like One person likes this.