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

Jaranguda

Belajar Mengajar

  • Home
  • Sponsor/Jasa
  • Tentang

Mengimpor Excel ke MySQL Dengan PhpSpreadsheet

Last Updated on 18 February 2020 By tommy Leave a Comment

Dengan bantuan PhpSpreadsheet sangat mudah untuk mengimpor file Excel, lalu menyimpannya kedalam database MySQL. Contoh sederhana kita punya file excel sebagai berikut
contoh file excel

Buat tabel baru di database, beri nama excel. Untuk menyimpan data yang diimport dari Excel

CREATE TABLE `excel` (
  `id` INT(11) NOT NULL,
  `item` VARCHAR(100) NOT NULL,
  `jumlah` INT(11) NOT NULL,
  `satuan` VARCHAR(30) NOT NULL,
  `harga_satuan` INT(11) NOT NULL,
  `total` INT(11) NOT NULL,
  `tanggal` DATE NOT NULL,
  `created_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP() ON UPDATE CURRENT_TIMESTAMP()
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
ALTER TABLE `excel`
  ADD PRIMARY KEY (`id`);
 
ALTER TABLE `excel`
  MODIFY `id` INT(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1;
COMMIT;

Buat satu folder tempat project ini, mari kita beri nama PHP-EXCEL.

Install PhpSpreadsheet dengan composer.

composer require phpoffice/phpspreadsheet

buat file index.php, isi dengan

<?php
 
require 'vendor/autoload.php';
 
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
 
$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
$spreadsheet = $reader->load("/home/tommy/Documents/belanja.xlsx");
 
$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) {
    // format tanggal
    $date = \PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject($value[5])->format('Y-m-d');
    $query = "INSERT INTO excel VALUES (null, '$value[0]', '$value[1]', '$value[2]', '$value[3]', '$value[4]', '$date', '$timestamp')";
    $result = $mysqli->query($query);
    if($result) {
        $hitungSukses++;
    } else {
        $hitungGagal++;
    }
}
 
echo "Sukses: " . $hitungSukses . "<br>";
echo "Gagal: " . $hitungGagal;

untuk bagian yang penting sudah diberi komentar singkat. Sekarang jalankan development server untuk test script diatas.

cd PHP-EXCEL
php -S localhost:9090

buka browser anda alamat diatas http://localhost:9090
sukses import file excel dengan php

Cek database anda, sudah terisi
file excel ada di database

Tulisan menarik lainnya

  • Menampilkan data MySQL ke Table dengan PHP

    Tutorial kali ini adalah cara Menampilkan data MySQL ke Table HTML dengan script PHP. Berikut…

  • Parsing File CSV dan Import ke MySQL dengan PHP

    File CSV yang kita miliki adalah data asal, karena hanya dibuat sebagai contoh pengolahan data…

  • Cara Memindahkan MySQL ke Server Baru

    Cara memindahkan MySQL disini sangat mudah dilakukan baik untuk pemula sekalipun. Database MySQL anda tidak…

  • Menampilkan Data Dari Database MySQL ke Combobox dengan PHP

    Pada tutorial kali ini, kita akan menampilkan data dari database kedalam combobox. Buat sebuah database…

Filed Under: PHP

Reader Interactions

Leave a Reply Cancel reply

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

Primary Sidebar

Pencarian

Tanya Jawab tentang DevOps SRE CPE, gabung di https://t.me/devopsindonesia

Terbaru

  • Solusi AWS CLI SSL VALIDATION failed
  • Monitoring Kubernetes Cluster dengan Prometheus
  • Solusi Playwright Firefox version `GLIBCXX_3.4.30′ not found (required by /lib64/libicuuc.so.69)
  • Cara Upgrade Fedora 35 ke Fedora 36
  • Ekstrak Gzip File dan Ambil Total dengan Python

Komentar

  • Xpud on Script PHP untuk Mengambil History Lagu Shoutcast v2.5
  • Jrenx on Membuat Bot Telegram Sederhana dengan PHP
  • Sella on Kemana Menghilangnya Saldo BCA 50 ribu
  • Rian on Mengganti Halaman Error Laravel
  • Suchie on Kemana Menghilangnya Saldo BCA 50 ribu

Tulisan Populer

  • Password Router Huawei HG8245H5 Indihome 1m views
  • Password Terbaru ZTE F609 Indihome 781.6k views
  • Password Superadmin Huawei HG8245A 294.7k views
  • Cara Setting Manual Modem GPON ZTE F609 Indihome 267.9k views
  • Cara Setting Wireless ZTE F609 Indihome 251.1k views
  • Mengaktifkan Port LAN di Huawei HG8245 Indihome 165.4k views
  • Akses UseeTV Indihome via Wireless ZTE F609 154.8k views
  • Cara Reset Password ZTE F609 Indihome 146k views
  • Kemana Menghilangnya Saldo BCA 50 ribu 135.5k views
  • Cara Setting DHCP Server Modem/Router ZTE F609 109k views

Kategori

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

Sponsor

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