Rabu, 04 Mei 2011

PHP Mysql Import Excel ke Database

Saya bingung mau nulis pendahuluan apa biar share ini ga kaku, tapi sepertinya sih lebih baik ga nulis pendahuluan dari pada nanti pendahuluannya acak - acakan atau malah bales di baca. Tapi ya sudah saya tulis deh sedikit pendahuluannya.

Teman - teman pasti pernah dapat masalah ketika client kasih data dalam bentuk excel untuk di input di system yang dibuat. Kalau teman - teman rajin sih pasti input satu per satu data yang di excel itu ke system tapi kalau datanya ratusan bahkan ribuan terus di input satu - satu itu sih namanya kerajinan..hehe..

Nih saya kasih code supaya teman - teman tidak usah input satu - satu alias import excel tersebut lewat beberapa code dan dalam hitungan detik data ribuan itu bisa masuk (set dah emg sayah ngitung y lama detiknya).

Syaratnya teman - teman harus download dulu yang namanya php excel reader terus simpen dalam folder kerjaan dimana folder itu folder root yang dipakai untuk import dan excelnya harus berekstensi .xls

Oia contoh code ini saya pakai untuk import data obat-obatan untuk sistem apotik.. so jangan di kopi paste langsung, tapi sesuaikan denga kebutuhan temen -teman semua mau import data apa

Langsung az dah..cekidot code nya di bawah

// menggunakan class phpExcelReader
include "excel_reader2.php";
mysql_connect("localhost", "root", "");
mysql_select_db("nama_database");
$data = new Spreadsheet_Excel_Reader($_FILES['userfile']['tmp_name']);
$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)
//buat injeksi
$nama = $data->val($i, 2);
$barcode = 'INJEKSI'.$i;
$hna = $data->val($i, 5);
/$q = "INSERT INTO barang (barcode,nama,hna) VALUES ".
"('$barcode','$nama','$hna')";
$hasil=mysql_query($q);
$id = mysql_insert_id();
// 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 gagal
echo "

Proses import data selesai.

";
echo "Jumlah data yang sukses diimport : ".$sukses."
";
echo "Jumlah data yang gagal diimport : ".$gagal."
";
?>

 Eksekusi dan hola......selesai input ratusan data hanya dalam hitungan detik :D

Mungkin itu yang bisa saya share..

Semoga membantu.

Tidak ada komentar:

Posting Komentar