Import data dari excel ke mysql dengan php

Cara import file excel ke database mysql dengan php menggunakan class library Excel Reader sehingga data di dalam format excel tersimpan ke dalam database sql server. Import file excel ke database ini tidak dilakukan dalam format CSV, namun Anda boleh saja melakukan percobaan import file csv ke database dengan cara ini. Artinya tutorial cara import file ke database ini dapat Anda kembangkan lagi sesuai kebutuhan pada projek Anda. Intinya adalah kita akan belajar pemrograman PHP tentang bagaimana membuat script PHP untuk import data excel ke database. Dalam tutorial sebelumnya telah kami jelaskan juga tentang script php export to excel.

Contoh cara import file excel ke database mysql dengan php adalah ketika kita akan melakukan import data absensi dari mesin finger print ke database aplikasi. Kenapa data absensi di mesin finger harus di import? karena agar kita dapat melakukan manipulasi report lebih lanjut dari data absensi tersebut. Nah, tentunya kita membutuhkan aplikasi custom yang kita kembangkan sendiri, sehingga dapat menampung data dari import file excel. Flow nya adalah dari export database di mesin finger sehingga menghasilkan file excel atau csv, kemudian file tersebut kita import ke database mysql dengan php pada aplikasi yang telah kita kembangkan.

Tutorial cara import file excel ke database mysql dengan php ini kami lakukan menggunakan web server XAMPP ver 5.6. Untuk mengikuti tutorial ini pastikan komputer anda telah terinstall web server XAMPP tersebut. Jika Anda belum memililki web server XAMPP, silahkan install dengan melihat panduannya berikut cara instal web server XAMPP.

Cara Import File Excel ke Database MySQL dengan PHP

Berikut adalah langkah - langkah tutorial atau cara import file excel ke database mysql dengan php lengkap berikut dengan script nya.



Cara Import File Excel

1. Persiapan Database

Buat database MySQL dengan nama "db_tutorial", kemudian buat sebuah tabel dengan nama tb_absensi. Atribut tb_absensi terdiri dari nomor, id, tgl, jam, untuk atribut nomor set menjadi AI atu AUTO_INCREMENT. Tabel tb_absensi ini yang akan digunakan untuk menyimpan data hasil import data dari excel atau csv.

Import data dari excel ke mysql dengan php

Database MySQL untuk menyimpan data dari hasil import file excel

2. Persiapan Format File Excel

Format file excel yang akan di import harus sesuai dengan atribut yang terdapat di tabel database. Ini agar proses import file excel ke database menjadi lebih mudah dan akurat. Perhatikan kembali atribut tabel tb_absensi di atas, karena atribut "nomor" adalah auto increment, maka atribut nomor ini tidak perlu di sertakan di dalam kolom file excel. Jadi atribut apa saja yang harus terdapat di dalam file format excel atau csv ini? yaitu ID, TGL, dan JAM.

Import data dari excel ke mysql dengan php

Format file excel sebelum di import ke database

3. Download Library Excel Reader

Class library excel reader berfungsi untuk membaca data value yang terdapat di dalam file excel sebelum dilakukan proses import file excel ke database. Library php excel reader dapat didownload secara gratis disumbernya download library php excel reader.

4. Membuat Koneksi PHP ke database MySQL

Koneksi php ke database ini wajib, tanpa koneksi maka tidak akan ada komunikasi dan aliran data dari dan ke database. Source code koneksi php sering kita bahas di dalam setiap tutorialnya, berikut script php koneksi untuk mengingatnya kembali.

Simpan sebagai koneksi.php

<?php
	// koneksi ke engine host mysql
	// valuenya adalah host, user, dan password
	$Open = mysql_connect("localhost","root","");
		if (!$Open){
			die ("Koneksi ke Engine MySQL Gagal !<br /><br />");
		}
	
	// koneksi ke database mysql
	// valuenya adalah database name
	$Koneksi = mysql_select_db("db_tutorial");
		if (!$Koneksi){
			die ("Koneksi ke Database Gagal !");
		}
?>

5. Membuat Form Import File Excel ke Database

Form import file ini berfungsi untuk mem-browse atau menjelajah file excel yang akan di import. Pada tutorial cara import file excel ke database mysql dengan php ini, form import diletakan langsung sebagai homepage atau index halaman. Jadi ketika projek ini di akses, maka akan langsung menampilkan form import file.

Simpan sebagai index.php

<html>
<head>
	<title>Cara Import File CSV atau Excel ke Database MySQL dengan PHP</title>
</head>
<body>
	<div style="border:1px solid #B0C4DE; padding:5px; overflow:auto; width:99%; height:98%;">
		<p><font size="3"><b>Import File CSV atau Import Excel</b></font></p>
		<p>
			<form action="import-excel.php" method="POST" enctype="multipart/form-data" >
				<table border="0">
					<tr>
						<td width="25%">Pilih File</td>
						<td width="75%"><input type="file" name="namafile" maxlength="255"/></td>
					</tr>
					<tr>
						<td> </td>
						<td>
							<button type="submit" name="upload" value="upload">Import</button>
						</td>
					</tr>
					<tr>
						<td></td>
						<td></td>
					</tr>
				</table>
				<br />
				<table border="0">
					<tr>
						<td><a href="lihat-hasil.php" type="submit" name="view" value="view">View Tabel</a></td>
						<td> </td>
					</tr>
				</table>
			</form>
		</p>
	</div>
</body>
</html>

Point penting dari source code form import file excel ke database di atas adalah pada bagian "action" dan input "type" dan "name". Yaitu sebagai berikut:

<form action="import-excel.php" method="POST" enctype="multipart/form-data">

form action="import-excel.php" artinya action di eksekusi pada source code di file import-excel.php. Di situlah proses eksekusi import file excel ke database dilakukan.

<input type="file" name="namafile" maxlength="255"/>

Disinilah kita akan menjelajah file excel yang akan di import, dengan type file dan nama file sebagai variable.

<button type="submit" name="upload" value="upload">Import</button>

Ketika button ini di klik, maka action ke file import-excel.php telah dikirimkan. Dan selanjutnya adalah tugas import-excel.php untuk meng-eksekusi instruksi.

6. Membuat Script PHP Source code Import File Excel ke Database

Sebagaiman dijelaskan di atas pada tutorial cara import file excel ke database mysql dengan php ini. Bahwa eksekusi import file excel ke database di lakukan oleh file php import-excel.php. Berikut adalah source code nya.

Simpan sebagai import-excel.php

<?php
	include "koneksi.php";
	include "ExcelReader/excel-reader.php";
	
	if ($_POST['upload'] == "upload") {
		$type 		=explode(".",$_FILES['namafile']['name']);
		
		if (empty($_FILES['namafile']['name'])) {
			?>
				<script language="JavaScript">
					alert('Oops! Please fill all / select file ...');
					document.location='./';
				</script>
			<?php
		}
		else if(strtolower(end($type)) !='xls'){
			?>
				<script language="JavaScript">
					alert('Oops! Please upload only Excel XLS file ...');
					document.location='./';
				</script>
			<?php
		}
		
		else{
		$target = basename($_FILES['namafile']['name']) ;
		move_uploaded_file($_FILES['namafile']['tmp_name'], $target);
    
		$data	=new Spreadsheet_Excel_Reader($_FILES['namafile']['name'],false);
    
		$baris = $data->rowcount($sheet_index=0);
    
		for ($i=2; $i<=$baris; $i++){
			$id		=$data->val($i, 1);
			$tgl	=$data->val($i, 2);
			$jam	=$data->val($i, 3);
			
			$query = mysql_query("INSERT INTO tb_absensi (id, tgl, jam) VALUES ('$id', '$tgl', '$jam')");		
		}
    
			if(!$query){
				?>
					<script language="JavaScript">
						alert('<b>Oops!</b> 404 Error Server.');
						document.location='./';
					</script>
				<?php
			}
			else{
				?>
					<script language="JavaScript">
						alert('Good! Import Excel XLS file success...');
						document.location='./';
					</script>
				<?php
			}
		unlink($_FILES['namafile']['name']);
		}
	}
?>

Sebagaimana source code php import excel di atas. Bahwa sebelum data masuk ke database, format file excel di upload dulu ke server, kemudian di baca data valuenya. Setelah di baca, lalu diterjemahkan baris data excel tersebut ke dalam atribut tabel database sesuai dengan field nya secara berurut. Yaitu ID, TGL, JAM, setelahkan data value di insert ke tabel database. Dan proses import file excel ke database mysql telah di eksekusi.

7. Membuat Interface View Data

Tentunya interface view data hasil proses import excel tadi. Sebetulnya bisa saja kita melihatnya langsung ke panel database mysql. Namun aplikasi diharuskan dapat melakukan penjajian data, jadi kita buat interface penyajian dara tersebut.

Simpan sebagai lihat-hasil.php

<html>
<head>
	<title>Cara Import File CSV atau Excel ke Database MySQL dengan PHP</title>
</head>
<body>
	<div style="border:1px solid #B0C4DE; padding:5px; overflow:auto; width:99%; height:98%;">
		<p><font size="3"><b>Hasil Import File CSV atau Import Excel</b></font></p>
		<p><a href="./">Kembali</a></p>
		<p>
			<table width="1100" border="0" align="center" cellpadding="0" cellspacing="0">
				<tr bgcolor="#FF6600">
					<th width="10" height="40">Nomor</td> 
					<th width="10">ID</td> 
					<th width="20">Tanggal</td> 
					<th width="20">Jam</td>  
				</tr>
				<?php
					include "koneksi.php";
					$query=mysql_query("select * from tb_absensi");
					$no=0;	
					//menampilkan data
					while($row=mysql_fetch_array($query)){
				?>
				<tr>
					<td align="center" height="36"><?php echo $row['nomor'];?></td>
					<td align="center"><?php echo $row['id'];?></td>
					<td align="center"><?php echo $row['tgl']; ?></td>
					<td align="center"><?php echo $row['jam'];?></td>
				</tr>
				<?php
					}
				?>    
				<tr>
					<td colspan="4" height="36"> 
					<?php
					//jika data tidak ditemukan
					if(mysql_num_rows($query)==0){
						echo "<font color=red>Data tidak ditemukan!</font>";
					}
					?>
					</td>
				</tr> 
			</table>
		</p>
	</div>
</body>
</html>

Ini adalah tahap akhir pada tutorial cara import file excel ke database mysql dengan php kali ini. Selanjutnya adalah tahap uji coba apakah proses import file excel dapat berjalan lancar. Secepatnya akan kami usahakan untuk menyediakan uji cobanya di Youtube, namun untuk kali ini kita sajikan dulu screenshotnya saja.

Import data dari excel ke mysql dengan php

Form import file excel ke database
Import data dari excel ke mysql dengan php

Validasi import excel ke database berhasil
Import data dari excel ke mysql dengan php

View data hasil import excel ke database MySQL

Di atas adalah tampilan uji coba import file excel ke database berikut validasi ketika data berhasil di import. Sebetulnya terdapat juga validasi ketika file belum di jelajah atau empty file, ketika extensi file tidak sesuai, dan ketika file gagal di import.

Tutorial Cara Import File Excel ke Database MySQL dengan PHP

Download Source Code PHP Import Excel

Sekian penjelasan tentang bagaimana cara import file excel ke database mysql dengan php menggunakan class library php excel reader. Untuk mendapatkan source codenya Anda dapat langsung mendownload melalui link di atas, jika link download tidak aktif atau error mohon hubungi kami melalui SMS atau email atau melalui form komentar dan obrolan. Semoga dapat membantu.

Baca juga :

  • Script PHP Export To Excel
  • Script PHP Update Database MySQL | CRUD
  • Script PHP untuk Cari Data pada Database MySQL
  • Membuat Form dan Script Edit Data dengan PHP MySQL
  • Membuat Widget Live Chat dengan PHP MySQL

Cara Import File Excel ke Database MySQL dengan PHP

Tags: cara import file excel ke database, import file excel ke database dengan php, import file excel dengan php, import file excel ke database, cara import file excel ke database mysql dengan php