Membuat Import Data dari Excel ke Database dengan PHP
Pelajari cara import data Excel ke database MySQL menggunakan PHP. Panduan ini membahas upload file, pembacaan Excel, dan penyimpanan data secara aman.
Pengenalan Import Excel di PHP
Fitur import data dari Excel sangat berguna dalam aplikasi web, seperti import data siswa, produk, pengguna, atau laporan. Dengan PHP, Anda dapat membaca file Excel dan menyimpannya langsung ke database MySQL.
Persiapan Database
Contoh tabel users:
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Install Library PHPSpreadsheet
Untuk membaca file Excel, kita menggunakan library PhpSpreadsheet.
composer require phpoffice/phpspreadsheet
Pastikan file vendor/autoload.php sudah tersedia.
Form Upload File Excel
Buat file import.php:
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<title>Import Excel</title>
</head>
<body>
<h2>Import Data dari Excel</h2>
<form method="POST" enctype="multipart/form-data">
<input type="file" name="file_excel" accept=".xls,.xlsx" required>
<button type="submit" name="import">Import Data</button>
</form>
</body>
</html>
Proses Import Excel ke Database
Tambahkan kode berikut di import.php:
<?php
require 'vendor/autoload.php';
include 'koneksi.php';
use PhpOffice\PhpSpreadsheet\IOFactory;
if (isset($_POST['import'])) {
$fileName = $_FILES['file_excel']['tmp_name'];
$spreadsheet = IOFactory::load($fileName);
$sheet = $spreadsheet->getActiveSheet();
$data = $sheet->toArray();
foreach ($data as $index => $row) {
if ($index == 0) continue; // Skip header
$name = mysqli_real_escape_string($conn, $row[0]);
$email = mysqli_real_escape_string($conn, $row[1]);
mysqli_query($conn,
"INSERT INTO users (name, email) VALUES ('$name', '$email')"
);
}
echo "Data berhasil diimport!";
}
?>
Format File Excel
Pastikan file Excel memiliki format seperti berikut:
Nama | Email
Budi | budi@email.com
Siti | siti@email.com
Penjelasan Singkat Kode
- PhpSpreadsheet membaca file Excel.
- toArray() mengubah sheet menjadi array.
- foreach membaca setiap baris Excel.
- mysqli_real_escape_string() mencegah SQL Injection.
Tips Keamanan Import Data
- Validasi ekstensi file (.xls, .xlsx).
- Batasi ukuran file upload.
- Gunakan prepared statement.
- Periksa duplikasi data.
Kesimpulan
Membuat fitur import data dari Excel ke database dengan PHP sangat membantu dalam pengelolaan data besar. Dengan PhpSpreadsheet dan validasi yang tepat, proses import bisa berjalan cepat dan aman.
FAQ (Pertanyaan Umum)
Apakah bisa import CSV juga?
Ya. PhpSpreadsheet mendukung CSV, XLS, dan XLSX.
Apakah wajib pakai Composer?
Disarankan, karena mempermudah pengelolaan library.
Bagaimana jika data banyak?
Gunakan batch insert dan nonaktifkan output berlebih.
Apakah bisa import sekaligus update data?
Bisa, dengan menambahkan pengecekan data sebelum insert.
Tags
#PHP #ImportExcel #MySQL #PhpSpreadsheet #BelajarPHP
Artikel Lainnya:
- Panduan Lengkap Mobile JKN: Cara Instal & Daftar Antrian Online Puskesmas Ajibarang I
- Cara Mencegah SQL Injection di PHP & MySQL (Keamanan Web Klinik)
- Cara Membuat Sistem Login Multi-Level (Admin, Bidan/Dokter, Pasien) di PHP & MySQL
- Cara Membuat Desain Database Sistem Rekam Medis MySQL (Relasi One-to-Many)
- Mudahnya Membuat Link Chat Langsung dengan WA Generator imandroid.web.id
Belum ada komentar. Jadilah yang pertama berkomentar!