Import Data Dengan Menggunakan PHPExcel


Import Data Dengan Menggunakan PHPExcel

kali ini saya akan share tutorial cara input data ke database dengan menggunakan file excel dengan plugin dari PHPExcel, sekarang banyak aplikasi yang menggunakan cara ini karena terlalu banyaknya data yang harus di masukan ke dalam database, banyangkan saja misal data ada 1000 lebih dan anda menginput satu persatu pasti memerlukan watku yang tidak sebentar, nah menggunakan plugin dari PHPExcel mungkin adalah solusi agar bisa mempersingkat waktu yang di perlukan untuk mengentri data, pertama download terlebih dahulu plugin PHPExcel disini, jika sudah extract file rar yang sudah anda download tadi, kemudian buatlah projek dengan nama terserah anda dan copy folder Classes dari file rar yang sudah extract tadi. untuk sebagai contoh dalam tutorial kali ini, data yang akan saya masukan seperti ini.

Import Data Dengan Menggunakan PHPExcel (Excel)

Ok, sekarang ke inti pembahasan, buatlah database terserah anda kemudian salin kode berikut dan jalankan di sql.
DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nama` varchar(50) DEFAULT NULL,
  `alamat` text,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
kemudian buat koneksi ke database dangan menggunakan php, silahkan salin kode berikut dan simpan file didalam projek yang sudah anda buat tadi dengan nama koneksi.php
<?php
  $host = 'localhost';
  $user = 'root';
  $pass = '';
  $db = 'phpexcel';

  $conn = mysql_connect($host, $user, $pass);
  mysql_select_db($db, $conn);
ganti user, pass, dan db sesuai dengan username, password dan db anda.
setelah itu salin kode dibawah ini dan simpan file didalam projek yang sudah anda buat dengan nama index.php
<!DOCTYPE html>
<html>
<head>
<title>ENTRI DATA DENGAN MENGGUNAKAN PLUGIN DARI PHPEXCEL</title>
</head>
<body>
<form method="POST" action="proses.php" enctype="multipart/form-data">
<input type="file" name="excel">
<button>UPLOAD</button>
</form>
</body>
</html>
dan yang terakhir adalah buat file untuk proses input datanya
silahkan salin kode berikut dan simpan file di dalam projek yang sudah anda buat dengan nama proses.php
<?php
  // memanggil koneksi
  require_once __DIR__.'/koneksi.php';

  // memanggil class PHPExcel
  require_once __DIR__.'/Classes/PHPExcel.php';
  require_once __DIR__.'/Classes/PHPExcel/IOFactory.php';

  // load excel
  $file = $_FILES['excel']['tmp_name'];
  $load = PHPExcel_IOFactory::load($file);
  $sheets = $load->getActiveSheet()->toArray(null,true,true,true);

  $i = 1;
  foreach ($sheets as $sheet) {

    // karena data yang di excel di mulai dari baris ke 2
    // maka jika $i lebih dari 1 data akan di masukan ke database
    if ($i > 1) {
      // nama ada di kolom A
      // sedangkan alamat ada di kolom B
      $sql = 'INSERT INTO users SET';
      $sql .= ' nama="'.$sheet['A'].'",';
      $sql .= ' alamat="'.$sheet['B'].'"';
      mysql_query($sql);
    }

    $i++;
  }

  if($i >= 2) {
    // pesan jika data berhasil di input
    echo '<h1>Data berhasil dimasukan</h1>';
  }
dan sekarang coba jalankan projek yang sudah anda buat, jika berhasil data yang di eksekusi dari excel akan masuk ke dalam table yang sudah dibuat, lihat gambar di bawah ini

Import Data Dengan Menggunakan PHPExcel (Table)

Ok. sampai di sini dulu tutorial kali ini, selamat mencoba dan semoga bisa bermanfaat.

Berbagi Via

Share Facebook Share Twitter Share Google+ Share Pinterest
Jangan lupa tinggalkan komentarnya ya :)

3 comments:

  1. min, makasih tutorialnya sangat membantu.
    Kalau lebih dari 2 kolom kok gk bisa ya min, misal kolom A sampai kolom F. bagian mana yg disetting min? mohon pencerahannya.

    ReplyDelete
  2. ArenaDomino Partner Terbaik Untuk Permainan Kartu Anda!
    Halo Bos! Selamat Datang di ( arenakartu.org )
    Arenadomino Situs Judi online terpercaya | Dominoqq | Poker online
    Daftar Arenadomino, Link Alternatif Arenadomino Agen Poker dan Domino Judi Online Terpercaya Di Asia
    Daftar Dan Mainkan Sekarang Juga 1 ID Untuk Semua Game
    ArenaDomino Merupakan Salah Satu Situs Terbesar Yang Menyediakan 9 Permainan Judi Online Seperti Domino Online Poker Indonesia,AduQQ & Masih Banyak Lain nya,Disini Anda Akan Nyaman Bermain :)

    Game Terbaru : Perang Baccarat !!!

    Promo :
    - Bonus Rollingan 0,5%, Setiap Senin
    - Bonus Referral 20% (10%+10%), Seumur Hidup


    Wa :+855964967353
    Line : arena_01
    WeChat : arenadomino
    Yahoo! : arenadomino

    Situs Login : arenakartu.org

    Kini Hadir Deposit via Pulsa Telkomsel / XL ( Online 24 Jam )
    Min. DEPO & WD Rp 20.000,-

    INFO PENTING !!!
    Untuk Kenyamanan Deposit, SANGAT DISARANKAN Untuk Melihat Kembali Rekening Kami Yang Aktif Sebelum Melakukan DEPOSIT di Menu SETOR DANA.

    ReplyDelete
  3. cara membaca di tabs ke dua di excel gimana ya min?

    kunjungi kami disini Ekspedisi Pengiriman Barag

    ReplyDelete