• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Jaranguda

Belajar Mengajar

  • Home
  • Sponsor/Jasa
  • Tentang
Home » Halaman Upload untuk Mengimpor Excel ke MySQL Dengan PhpSpreadsheet

Halaman Upload untuk Mengimpor Excel ke MySQL Dengan PhpSpreadsheet

Last Updated on 19 February 2020 By tommy Leave a Comment

Versi sebelumnya di Mengimpor Excel ke MySQL Dengan PhpSpreadsheet kita hanya mengambil file dari folder langsung, kali ini kita akan membuat halaman web dimana user bisa mengupload file Excel.
Buat folder untuk menyimpan script yang akan kita buat, anggap kita buat folder php-excel. Didalam folder php-excel jalankan composer berikut ini untuk menginstall PhpSpreadsheet

composer require phpoffice/phpspreadsheet

Buat file index.html, lalu copy paste script dibawah ini

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <title>Script Import File Excel</title>
</head>
<body>
    <div class="container">
        <h1>Script Import File Excel</h1>
        <form method="post" enctype="multipart/form-data" action="excel.php">
            Pilih File Excel: <br>
            <input name="fileexcel" type="file"><br><br>
            <input name="upload" type="submit" value="Import">
        </form>
    </div>
 
</body>
</html>

File excel yang akan diimport
file excel import php
agar terlihat berbeda kita gunakan data yang berbeda. Buat table baru di MySQL/MariaDB dengan data berikut

CREATE TABLE `contact` (
  `id` int(11) NOT NULL,
  `company` varchar(100) NOT NULL,
  `company_pic` varchar(40) NOT NULL,
  `phone_number` varchar(20) NOT NULL,
  `address` text NOT NULL,
  `created_at` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
ALTER TABLE `contact`
  ADD PRIMARY KEY (`id`);
ALTER TABLE `contact`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
COMMIT;

Untuk mengolah file yang di upload kita gunakan PhpSpreadsheet

<?php
 
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
 
// validasi
if(empty($_FILES['fileexcel']['tmp_name'])) {
    exit("Tidak ada file diupload");
}
 
$file = pathinfo($_FILES['fileexcel']['name']);
 
// ekstensi yang diijinkan
$allowedExtension = ['xlsx', 'xls'];
if(! in_array($file['extension'],$allowedExtension)) {
    exit("Galat! file extension yang diijinkan .xlsx .xls");
 
}
 
$DB_SERVER = "localhost";
$DB_USER = "USER";
$DB_PASSWORD = "PASSWORD";
$DB_NAME = "tutorial";
$mysqli = new mysqli("$DB_SERVER","$DB_USER","$DB_PASSWORD","$DB_NAME");
 
if ($mysqli->connect_errno) {
  echo "Errno: " . $mysqli->connect_errno . "\n";
  echo "Error: " . $mysqli->connect_error . "\n";
  exit;
}
 
$reader = new \PhpOffice\PhpSpreadsheet\Reader\Xlsx();
$reader->setReadDataOnly(true);
// lokasi file excel dari file yang di upload
$spreadsheet = $reader->load($_FILES['fileexcel']['tmp_name']);
 
$worksheet = $spreadsheet->getActiveSheet();
$rows = $worksheet->toArray();
 
// hapus baris pertama
unset($rows[0]);
 
$tz = 'Asia/Jakarta';
$dt = new DateTime("now", new DateTimeZone($tz));
$timestamp = $dt->format('Y-m-d G:i:s');
 
$hitungSukses = 0;
$hitungGagal = 0;
 
foreach ($rows as $key => $value) {
    $query = "INSERT INTO contact VALUES (null, '$value[0]', '$value[1]', '$value[2]', '$value[3]', '$timestamp')";
    echo "$query" . "<br>";
    $result = $mysqli->query($query);
    if($result) {
        $hitungSukses++;
    } else {
        $hitungGagal++;
        var_dump(mysqli_error($mysqli));
    }
}
 
echo "<hr>";
echo "Sukses: " . $hitungSukses . "<br>";
echo "Gagal: " . $hitungGagal;

ubah credential diatas menjadi username/password yang digunakan database anda.

Jalankan server development php dari folder php-excel dengan

php -S localhost:9000

Di browser buka http://localhost:9000
interface upload excel php
pilih file Excel yang akan diupload, klik Import
log export excel ke mysql

Script tutorial bisa didownload dibawah ini. Struktur foldernya

php-excel
├── composer.json
├── composer.lock
├── contact.sql
├── contact.xlsx
├── excel.php
├── index.html
└── vendor

Download “php-excel-1.zip” php-excel-1.zip – Downloaded 133 times – 4 MB


Tulisan menarik lainnya

  • Mengimpor Excel ke MySQL Dengan PhpSpreadsheet

    Dengan bantuan PhpSpreadsheet sangat mudah untuk mengimpor file Excel, lalu menyimpannya kedalam database MySQL. Contoh…

  • Tutorial Koneksi PHP dengan MySQL

    Dibawah ini akan dijelaskan mengenai cara untuk mengkoneksikan PHP ke database MySQL. Tulis script dibawah…

  • Mengelola Database MySQL dengan Adminer

    Salah satu aplikasi ringan pengganti phpMyAdmin adalah Adminer. Tidak perlu instalasi, yang di perlukan hanya…

  • Script Backup MySQL dan File-File Web dengan Bash

    Script ini saya gunakan untuk membackup database blog ini, berikut dengan semua file-filenya. File ini…

Filed Under: PHP

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Pencarian

Komentar

  • Hary on Kemana Menghilangnya Saldo BCA 50 ribu
  • Ahn on Cara Lengkap Daftar Google My Business
  • Perd4tor on Password Router Huawei HG8245H5 Indihome
  • 474747 on Cara Setting Router Tenda F3 sebagai Access Point
  • 474747 on Cara Setting Router Tenda F3 sebagai Access Point

Terbaru

  • Cara Lengkap Daftar Google My Business
  • Cara Install Red Hat Enterprise Linux 8 di Upcloud dengan Custom ISO
  • Cara Install Jenkins di Debian Linux
  • Cara Setting TP-LINK EN020-F5 Sebagai Range Extender
  • Cara Buat Cluster Elastic Stack dengan 3 Server

Tulisan Populer

  • Password Terbaru ZTE F609 Indihome 765k views
  • Password Router Huawei HG8245H5 Indihome 591.9k views
  • Cara Setting Manual Modem GPON ZTE F609 Indihome 241.2k views
  • Cara Setting Wireless ZTE F609 Indihome 227.3k views
  • Password Superadmin Huawei HG8245A 227.3k views
  • Mengaktifkan Port LAN di Huawei HG8245 Indihome 145.9k views
  • Akses UseeTV Indihome via Wireless ZTE F609 145.4k views
  • Cara Reset Password ZTE F609 Indihome 139.1k views
  • Mengubah Modem Wireless Router Menjadi Access Point 98.4k views
  • Cara Setting DHCP Server Modem/Router ZTE F609 94.9k views

Kategori

  • Delphi
  • dll
  • Gambas
  • Internet
  • Java
  • Lazarus
  • Linux
  • PHP
  • Review
  • Teknologi

Sponsor

kadal.id
Untuk jadi sponsor, hubungi kita lewat halaman sponsor
© 2020. Jaranguda
  • Linux
  • PHP
  • Internet
  • Teknologi
  • Delphi
  • Gambas
  • Java