Excel yang bisa dibaca oleh class PHPExcelReader ini untuk sementara
hanya yang di bawah MS. Office 2007 atau Office 97-2003 saja. Dengan
kata lain class ini tidak bisa digunakan untuk membaca file Excel yang
berekstensi (*.xlsx). Oleh karena itu pastikan file Excel yang akan Anda
import berekstensi *.xls.
Sebelum kita membuat script import datanya, silakan download terlebih dahulu class PHPExcelReader nya di bawah ini
Download Class
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 struktur tabel MySQL nya.
1.CREATE TABLE `mhs` (2.`nim` varchar(10),3.`namamhs` varchar(30),4.`alamat` text,5.PRIMARY KEY (`nim`)6.)Dalam proses import data nanti, kita akan menggunakan bentuk form upload file. Oleh karena itu, pertama kita buat form uploadnya sbb:
import.php
1.<h1>Import Data Asrama</h1>2. 3.<form method="post" enctype="multipart/form-data" action="proses.php">4.Silakan Pilih File Excel: <input name="userfile" type="file">5.<input name="upload" type="submit" value="Import">6.</form>proses.php
01.<?php02.// menggunakan class phpExcelReader03.include "excel_reader2.php";04. 05.// koneksi ke mysql06.mysql_connect("dbHost", "dbUser", "dbPass");07.mysql_select_db("dbname");08. 09.// membaca file excel yang diupload10.$data = new Spreadsheet_Excel_Reader($_FILES['userfile']['tmp_name']);11. 12.// membaca jumlah baris dari data excel13.$baris = $data->rowcount($sheet_index=0);14. 15.// nilai awal counter untuk jumlah data yang sukses dan yang gagal diimport16.$sukses = 0;17.$gagal = 0;18. 19.// import data excel mulai baris ke-2 (karena baris pertama adalah nama kolom)20.for ($i=2; $i<=$baris; $i++)21.{22.// membaca data nim (kolom ke-1)23.$nim = $data->val($i, 1);24.// membaca data nama (kolom ke-2)25.$nama = $data->val($i, 2);26.// membaca data alamat (kolom ke-3)27.$alamat = $data->val($i, 3);28. 29.// setelah data dibaca, sisipkan ke dalam tabel mhs30.$query = "INSERT INTO mhs VALUES ('$nim', '$nama', '$alamat')";31.$hasil = mysql_query($query);32. 33.// jika proses insert data sukses, maka counter $sukses bertambah34.// jika gagal, maka counter $gagal yang bertambah35.if ($hasil) $sukses++;36.else $gagal++;37.}38. 39.// tampilan status sukses dan gagal40.echo "<h3>Proses import data selesai.</h3>";41.echo "<p>Jumlah data yang sukses diimport : ".$sukses."<br>";42.echo "Jumlah data yang gagal diimport : ".$gagal."</p>";43. 44.?>Nah.. mudah bukan?? Oya.. pastikan class phpExcelReader tersebut terletak dalam folder yang sama dengan kedua script di atas.
Dalam membuat file Excel, Anda tetap bisa menggunakan Office 2007 asal ketika menyimpan filenya, pastikan formatnya adalah Excel 97-2003 worksheet (pilih Save As Type: Excel 97-2003 Worksheet).
Semoga artikel ini bermanfaat…
sumber : blog.rosihanari.net/membuat-script-php-import-data-ms-excel-ke-mysql/


