Data import excel ke database mysql dengan php merupakan salah satu fitur yang sering digunakan dalam pengembangan aplikasi web. Banyak aplikasi yang membutuhkan fitur ini, mulai dari aplikasi manajemen data, e-commerce, dan lain sebagainya. Oleh karena itu, dalam artikel ini, akan dibahas tentang cara import data excel ke database mysql dengan menggunakan codeigniter dan php.
Cara Import Data Excel ke Database dengan Codeigniter
Berikut langkah-langkah cara import data excel ke database dengan codeigniter:
1. Download Library PHPExcel
Library PHPExcel merupakan salah satu library yang populer untuk membaca dan menulis file excel dengan bahasa pemrograman php. Library ini dapat didownload di situs resmi phpexcel.net. Setelah mendownload library PHPExcel, file tersebut dapat diekstrak pada folder aplikasi codeigniter yang telah dibuat.
2. Buat Controller Import Excel
Buat file controller dengan nama “Importexcel.php” pada direktori “application/controllers”. Kemudian tambahkan kode berikut:
<?php defined('BASEPATH') OR exit('No direct script access allowed'); Class Importexcel extends CI_Controller public function __construct() parent::__construct(); $this->load->model('Mimportexcel'); $this->load->library('PHPExcel'); $this->load->library('upload'); public function index() $data['title']="Import Data Excel Codeigniter"; $this->load->view('vimportexcel',$data); public function upload()csv", "remove_spaces" => TRUE, "encrypt_name" => true )); if($this->upload->do_upload('upload_file')) $uploaded_data = $this->upload->data(); $file = './uploads/'.$uploaded_data['file_name']; $objPHPExcel = PHPExcel_IOFactory::load($file); $worksheet = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); $jsonData = json_encode($worksheet, JSON_PRETTY_PRINT); $this->Mimportexcel->save_data($jsonData); unlink($file); redirect('importexcel'); else echo "Fail upload"; ?>
Pada kode tersebut, fungsi “index” akan menampilkan form untuk upload file excel. Sedangkan fungsi “upload” akan menangani proses upload data excel dan membaca data excel menggunakan library PHPExcel.
3. Buat Model Import Excel
Buat file model dengan nama “Mimportexcel.php” pada direktori “application/models”. Kemudian tambahkan kode berikut:
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Mimportexcel extends CI_Model public function save_data($data) $this->db->trans_start(); $this->db->query("INSERT INTO tb_importexcel(data) VALUES('".$data."')"); $this->db->trans_complete(); ?>
Pada kode tersebut, fungsi “save_data” berfungsi untuk menyimpan data excel yang telah diimport ke dalam tabel pada database.
4. Buat View Import Excel
Buat file view dengan nama “vimportexcel.php” pada direktori “application/views”. Kemudian tambahkan kode berikut:
<?php defined('BASEPATH') OR exit('No direct script access allowed'); ?> <!DOCTYPE html> <html> <head> <title><?php echo $title ?></title> </head> <body> <form method="POST" enctype="multipart/form-data" action="<?php echo base_url('index.php/importexcel/upload') ?>"> <label>Upload file excel:</label><br/> <input type="file" name="upload_file" required /><br/><br/> <button type="submit" value="Upload" name="submit">Import</button> </form> </body> </html>
Pada kode tersebut, akan menampilkan form untuk upload file excel dan mengimport data ke dalam database.
Cara Membuat Import Data Excel ke Database Mysql Dengan PHP
Selain menggunakan codeigniter, import data excel ke database mysql juga dapat dilakukan dengan menggunakan php tanpa menggunakan framework. Berikut langkah-langkahnya:
1. Membuat Koneksi Database
Pertama-tama, buatlah file “koneksi.php” dan isilah dengan konfigurasi koneksi database, seperti berikut:
<?php // Konfigurasi database $host = "localhost"; $username = "root"; $password = ""; $database = "db_excel"; // Koneksi ke database $koneksi = mysqli_connect($host, $username, $password, $database); // Cek koneksi if(!$koneksi) die("Koneksi gagal: " . mysqli_connect_error()); ?>
Pastikan untuk mengganti nilai variabel “$host”, “$username”, “$password”, dan “$database” sesuai dengan konfigurasi database yang digunakan.
2. Buat File Untuk Upload File Excel
Buat file “upload.php” dan isilah dengan kode berikut:
<html> <head> <title>Upload File Excel</title> </head> <body> <form enctype="multipart/form-data" method="post" action="import.php"> Pilih file excel untuk diupload: <input type="file" name="file"><br> <input type="submit" name="submit" value="Import"> </form> </body> </html>
Pada form di atas, terdapat field untuk memilih file excel yang akan diupload dan tombol untuk mengimport file excel tersebut.
3. Buat Script Untuk Import Data Excel
Selanjutnya, buat file “import.php” dan isilah dengan script berikut:
<?php // Panggil koneksi database include 'koneksi.php'; if(isset($_POST['submit'])) // Membaca file excel yang diupload $file = $_FILES['file']['tmp_name']; $handle = fopen($file, "r"); $c = 0; // Looping untuk membaca setiap baris dari file excel while(($line = fgetcsv($handle)) !== false) // Membaca data pada baris pertama if($c == 0) $c++; continue; // Mengubah array dari baris menjadi variabel $nama = $line[0]; $alamat = $line[1]; $telp = $line[2]; // Menyimpan data ke dalam database mysqli_query($koneksi, "INSERT INTO tb_excel(nama, alamat, telp) VALUES ('$nama','$alamat','$telp')"); $c = $c + 1; if(!$handle) die("Error membuka file excel."); // Menutup file excel yang telah dibaca fclose($handle); // Redirect ke halaman index.php setelah proses import selesai dilakukan header('location: index.php'); ?>
Pada script di atas, file excel yang diupload akan dibaca dengan menggunakan function fgetcsv() dan setiap baris akan diinsert ke dalam database.
FAQ
1. Bagaimana cara menjalankan file tersebut?
Untuk menjalankan file tersebut, pastikan bahwa web server dan database server telah terinstall di komputer anda. Kemudian, buat database dan tabel untuk menampung data dari file excel. Setelah itu, buat file sesuai dengan langkah-langkah yang telah dibahas pada artikel ini. Selanjutnya, file dapat dijalankan dengan membuka halaman web dimana file tersebut telah diupload.
2. Apa yang harus dilakukan jika terjadi error saat proses upload file excel?
Jika terjadi error saat proses upload file excel, pastikan bahwa file yang diupload memiliki format yang benar dan memenuhi persyaratan yang telah ditentukan. Jika masih terjadi error, coba untuk memindahkan file ke direktori lain atau gunakan file excel yang lain. Jika error masih terjadi, periksa konfigurasi server dan pastikan bahwa server telah terinstall library yang dibutuhkan.