Pada tutorial kali ini kita akan membahas bagamana import data excel kedalam mysql lewat php dengan format xls atau xlsx. Sebelumnya download dlu library spreadsheet reader disni dan buat folder bernama import_excel di dalam xampp/htdocs.
Setelah di download silahkan extract maka akan ada folder bernama spreadsheet-reader-master dan masukan ke dalam folder import_excel.
Sebelum lanjut kita buatkan dlu database untuk menampung data import dari excel. silahkan lihat script dibawah.
-- buat db apotek
CREATE DATABASE `apotek`;
USE `apotek`;
-- buat tabel obat
CREATE TABLE `obat` (
`kd_obat` varchar(10),
`nm_obat` varchar(40),
`kategori` varchar(20),
PRIMARY KEY (`kd_obat`)
);
Pada script mysql di atas kita membuat database apotek serta membuat tabel obat yang terdiri dari kolom kd_obat, nm_obat dan kategori.
Setelah itu buat folder upload di dalam folder import_excel, serta buat file index.php dan copykan script dibawah ini.
<?php
error_reporting(0);
include_once 'spreadsheet-reader-master/php-excel-reader/excel_reader2.php';
include_once 'spreadsheet-reader-master/SpreadsheetReader.php';
$koneksi = mysqli_connect("localhost","root","", "apotek");
mysqli_select_db($koneksi, "apotek");
if(isset($_POST['submit'])){
if($_FILES['upload']['name'] != "" and ($_FILES['upload']['type']=='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' or $_FILES['upload']['type']=='application/vnd.ms-excel')) {
$target_dir = "upload/".basename($_FILES['upload']['name']);
move_uploaded_file($_FILES['upload']['tmp_name'],$target_dir);
$Reader = new SpreadsheetReader($target_dir);
$val = $_FILES['upload']['type']=='application/vnd.ms-excel' ? 1 : 0 ;
foreach ($Reader as $Key => $Row)
{
// import data excel mulai baris ke-2 (karena ada header pada baris 1)
if ($Key == $val) {
continue;
}
if(empty($Row[0])){
break;
}
$query=mysqli_query($koneksi, "INSERT INTO obat(kd_obat, nm_obat, kategori) VALUES ('".$Row[0]."', '".$Row[1]."','".$Row[2]."')");
}
unlink("upload/".basename($_FILES['upload']['name']));
if ($query) {
echo "Import data berhasil";
}else{
echo "Ada kesalahan";
}
}else{
echo "file harus xls atau xlsx";
exit;
}
}
?>
<html>
<head>
<title>Import Excel</title>
</head>
<body>
<form method="post" enctype="multipart/form-data">
<label for="">Import Excel</label>
<input type="file" name="upload" required>
<input type="submit" value="Import" name="submit">
</form>
<table border="1">
<tr>
<td>#</td>
<td>Kode</td>
<td>Obat</td>
</tr>
<?php
$qry = mysqli_query($koneksi, "SELECT * FROM obat");
$i=1;
while($data = mysqli_fetch_array($qry)){
?>
<tr>
<td><?= $i++ ?></td>
<td><?= $data['kd_obat']?></td>
<td><?= $data['nm_obat']?></td>
</tr>
<?php } ?>
</table>
</body>
</html>
Setelah menyalin script diatas, jalankan di browser maka akan ada tampilan seperti dibawah
setelah itu kita siapkan format excelnya
Coba kalian klik tombol choose file dan pilih format excel seperti diatas. setelah memilih file silahkan klik import. maka data di dalam excel akan masuk ke dalam database mysql, lihat gambar dibawah