Please enable JavaScript!
Bitte aktiviere JavaScript!
S'il vous plaît activer JavaScript!
Por favor,activa el JavaScript!
antiblock.org

 |  | 
Anda ingin membuat website?
Untuk Anda yang sedang mencari orang untuk jasa pembuatan website, Saya akan bantu buatkan aplikasi sesuai kebutuhan Anda. Segera hubungi : mail@rizaldimaulidia.com. Selengkapnya tentang profil saya klik www.rizaldimaulidia.com.

PHP

Cara Membuat Import Data Excel dengan PHP dan MySQL

img-responsive

Catatan kali ini akan membahas mengenai cara membuat import data dari file excel dengan menggunakan PHP dan database MySQL. Pada catatan ini, kita akan menggunakan sebuah librari yaitu PHPExcel. Librari ini yang nantinya akan kita gunakan untuk mebaca isi dari file excel yang akan kita import ke database. Ikuti langkah-langkahnya berikut ini.

PENTING, MOHON DIBACA TERLEBIH DAHULU
Tutorial ini menggunakan librari PHPExcel untuk proses import excelnya. Librari ini setau saya dan sudah saya tes hanya mendukung sampai PHP Versi 7.2.8. Jadi bagi kamu yang pakai PHP Versi diatas 7.2.8, sebaiknya downgrade dulu atau download Xampp dimana PHP nya masih versi 7.2.8 ke bawah. Jika Anda ingin melihat tutorial untuk PHP 7.2.8 ke atas, silahkan buka tutorial berikut ini :

Tutorial Import Data dari Excel untuk PHP 7.2.8 ke Atas :
Cara Membuat Import Data Excel dengan PhpSpreadsheet

Berikut ini untuk link download Xampp Versi 7.2.8 :


Berikut adalah fitur-fitur yang akan kita buat:

  1. View Data dari Database.
  2. Form untuk Import Data.
  3. Preview Data yang akan diimport sebelum di simpan ke database.
  4. Validasi terhadap file yang dipilih oleh User pada form import. Hanya file Microsoft Office 2007 (.xlsx) yang diperbolehkan.
  5. Validasi terhadap input data. Jika ada data yang kosong / belum diisi, sistem akan memberitahu jumlah data yang kosong dan data mana saja.

DEMO
Sebelum masuk ke tutorialnya. Mungkin ada yang mau lihat demonya terlebih dahulu. Silahkan klik link berikut untuk melihat demonya : Lihat Demo.


STEP 1 – PERSIAPAN
Berikut ini adalah hal-hal yang harus dipersiapkan :

  1. Download Bootstrap, Klik link berikut : Download.
  2. Download Jquery, Klik link berikut : Download.
  3. Download librari PHPExcel nya, klik link berikut ini : Download.
  4. Download format import data excel, klik link berikut : Download. File ini berfungsi sebagai format excel yang digunakan untuk import data.
  5. Buat sebuah folder dengan nama import_php, lalu simpan pada folder xampp/htdocs/.
  6. Buat sebuah folder dengan nama tmp, lalu simpan pada folder xampp/htdocs/import_php/.
  7. Buat sebuah folder dengan nama css, lalu simpan pada folder xampp/htdocs/import_php/.
  8. Buat sebuah folder dengan nama js, lalu simpan pada folder xampp/htdocs/import_php/.
  9. Esktrak file bootstrap.7z yang telah didownload tadi.
  10. Copy and paste folder fonts dari folder bootstrap yang telah diekstrak tadi ke folder xampp/htdocs/import_php/.
  11. Copy and paste file bootstrap.min.css dari folder bootstrap/css/ yang telah diekstrak tadi ke folder xampp/htdocs/import_php/css/.
  12. Rename file JQUERY yang telah di downlaod tadi menjadi jquery.min.js, lalu copy and paste pada folder xampp/htdocs/import_php/js/.
  13. Ekstrak file librari PHPExcel.7z yang telah didownload tadi.
  14. Copy and paste folder PHPExcel hasil ekstrak file tadi ke folder xampp/htdocs/import_php/.
  15. Copy and paste file Format.xlsx yang telah didownload ke folder xampp/htdocs/import_php/.

STEP 2 – DATABASE
Pada step ini, kita akan membuat databasenya. ikuti langkah-langkah berikut ini :

  1. Buat sebuah database dengan nama mynotescode.
  2. Buat sebuah tabel dengan nama siswa. Struktur tabelnya sebagai berikut :
    Struktur Tabel - Cara Membuat Import Data Excel dengan PHP dan MySQL

    CREATE TABLE IF NOT EXISTS `siswa` (    
      `nis` varchar(11) NOT NULL,    
      `nama` varchar(50) NOT NULL,    
      `jenis_kelamin` varchar(10) NOT NULL,    
      `telp` varchar(15) NOT NULL,    
      `alamat` text NOT NULL,    
      PRIMARY KEY (`nis`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;

STEP 3 – KONEKSI DATABASE
Pada step ini, kita akan membuat file php yang berfungsi untuk menghubungkan dengan database MySQL. Silahkan buat file koneksi.php, lalu simpan di folder xampp/htdocs/import_php/. Berikut ini kodenya :

<?php
$host = 'localhost'; // Nama hostnya
$username = 'root'; // Username
$password = ''; // Password (Isi jika menggunakan password)
$database = 'mynotescode'; // Nama databasenya

// Koneksi ke MySQL dengan PDO
$pdo = new PDO('mysql:host='.$host.';dbname='.$database, $username, $password);
?>

STEP 4 – VIEW DATA
Selanjutnya kita akan membuat sebuah file php yang berfungsi untuk menampilkan data hasil import data dari database. Buat sebuah file baru dengan nama index.php, lalu simpan pada folder xampp/htdocs/import_php/. Berikut ini tampilan dan kodenya :

View data - Cara Membuat Import Data Excel dengan PHP dan MySQL

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Import Data dengan PHP</title>

    <!-- Load File bootstrap.min.css yang ada difolder css -->
    <link href="css/bootstrap.min.css" rel="stylesheet">
    
    <!-- Style untuk Loading -->
    <style>
        #loading{
      background: whitesmoke;
      position: absolute;
      top: 140px;
      left: 82px;
      padding: 5px 10px;
      border: 1px solid #ccc;
    }
    </style>
  </head>
  <body>
    <!-- Membuat Menu Header / Navbar -->
    <nav class="navbar navbar-inverse" role="navigation">
      <div class="container-fluid">
        <div class="navbar-header">
          <a class="navbar-brand" href="#" style="color: white;"><b>Import Data dengan PHP</b></a>
        </div>
        <p class="navbar-text navbar-right hidden-xs" style="color: white;padding-right: 10px;">
          FOLLOW US ON &nbsp;
          <a target="_blank" style="background: #3b5998; padding: 0 5px; border-radius: 4px; color: #f7f7f7; text-decoration: none;" href="https://www.facebook.com/mynotescode">Facebook</a> 
          <a target="_blank" style="background: #00aced; padding: 0 5px; border-radius: 4px; color: #ffffff; text-decoration: none;" href="https://twitter.com/code_notes">Twitter</a> 
          <a target="_blank" style="background: #d34836; padding: 0 5px; border-radius: 4px; color: #ffffff; text-decoration: none;" href="https://plus.google.com/118319575543333993544">Google+</a>
        </p>
      </div>
    </nav>
    
    <!-- Content -->
    <div style="padding: 0 15px;">
      <!-- 
      -- Buat sebuah tombol untuk mengarahkan ke form import data
      -- Tambahkan class btn agar terlihat seperti tombol
      -- Tambahkan class btn-success untuk tombol warna hijau
      -- class pull-right agar posisi link berada di sebelah kanan
      -->
      <a href="form.php" class="btn btn-success pull-right">
        <span class="glyphicon glyphicon-upload"></span> Import Data
      </a>
      
      <h3>Data Hasil Import</h3>
      
      <hr>
      
      <!-- Buat sebuah div dan beri class table-responsive agar tabel jadi responsive -->
      <div class="table-responsive">
        <table class="table table-bordered">
          <tr>
            <th>No</th>
            <th>NIS</th>
            <th>Nama</th>
            <th>Jenis Kelamin</th>
            <th>Telepon</th>
            <th>Alamat</th>
          </tr>
          <?php
          // Load file koneksi.php
          include "koneksi.php";
          
          // Buat query untuk menampilkan semua data siswa
          $sql = $pdo->prepare("SELECT * FROM siswa");
          $sql->execute(); // Eksekusi querynya
          
          $no = 1; // Untuk penomoran tabel, di awal set dengan 1
          while($data = $sql->fetch()){ // Ambil semua data dari hasil eksekusi $sql
            echo "<tr>";
            echo "<td>".$no."</td>";
            echo "<td>".$data['nis']."</td>";
            echo "<td>".$data['nama']."</td>";
            echo "<td>".$data['jenis_kelamin']."</td>";
            echo "<td>".$data['telp']."</td>";
            echo "<td>".$data['alamat']."</td>";
            echo "</tr>";
            
            $no++; // Tambah 1 setiap kali looping
          }
          ?>
        </table>
      </div>
    </div>
  </body>
</html>

Saya akan coba jelaskan sedikit mengenai kode diatas.

include “koneksi.php”;
Kode tersebut berfungsi untuk me-load file koneksi.php.

$sql = $pdo->prepare(“SELECT * FROM siswa”);
$sql->execute();
Kode tersebut berfungsi untuk melakukan query ke database dan mengeksekusinya. Pada cotoh diatas, kita akan melakukan query untuk menampilkan semua data dari tabel siswa.

$data = $sql->fetch()
Kode tersebut berfungsi untuk mengambil semua data hasil query dan menampung data-data tersebut di dalam sebuah array lalu menyimpannya ke dalam variabel $data. Kode tersebut saya simpan di dalam sebuah kode while(….) yang berfungsi untuk melakukan proses perulangan sampai data terkahir dengan tujuan agar kita bisa menampilkan datanya satu per satu.

echo "<tr>";
echo "<td>".$no."</td>";
echo "<td>".$data['nis']."</td>";
echo "<td>".$data['nama']."</td>";
echo "<td>".$data['jenis_kelamin']."</td>";
echo "<td>".$data['telp']."</td>";
echo "<td>".$data['alamat']."</td>";
echo "</tr>";

Pada kode diatas terdapat variabel $data digunakan untuk mengambil isi dari field-field yang ada pada tabel siswa di database mynotescode. Pada kode diatas juga ada kode yang berada pada tanda [‘……’], kode tersebut harus sama dengan nama field yang ada pada tabel siswa.


STEP 5 – FORM DAN PREVIEW
Langkah selanjutnya kita akan membuat sebuah form untuk import data excelnya. Buat sebuah file baru dengan nama form.php, lalu simpan pada folder xampp/htdocs/import_php/. Berikut tampilan dan kodenya :

Form Import - Cara Membuat Import Data Excel dengan PHP dan MySQL

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Import Data Excel dengan PHP</title>

    <!-- Load File bootstrap.min.css yang ada difolder css -->
    <link href="css/bootstrap.min.css" rel="stylesheet">
    
    <!-- Style untuk Loading -->
    <style>
        #loading{
      background: whitesmoke;
      position: absolute;
      top: 140px;
      left: 82px;
      padding: 5px 10px;
      border: 1px solid #ccc;
    }
    </style>
    
    <!-- Load File jquery.min.js yang ada difolder js -->
    <script src="js/jquery.min.js"></script>
    
    <script>
    $(document).ready(function(){
      // Sembunyikan alert validasi kosong
      $("#kosong").hide();
    });
    </script>
  </head>
  <body>
    <!-- Membuat Menu Header / Navbar -->
    <nav class="navbar navbar-inverse" role="navigation">
      <div class="container-fluid">
        <div class="navbar-header">
          <a class="navbar-brand" href="#" style="color: white;"><b>Import Data Excel dengan PHP</b></a>
        </div>
        <p class="navbar-text navbar-right hidden-xs" style="color: white;padding-right: 10px;">
          FOLLOW US ON &nbsp;
          <a target="_blank" style="background: #3b5998; padding: 0 5px; border-radius: 4px; color: #f7f7f7; text-decoration: none;" href="https://www.facebook.com/mynotescode">Facebook</a> 
          <a target="_blank" style="background: #00aced; padding: 0 5px; border-radius: 4px; color: #ffffff; text-decoration: none;" href="https://twitter.com/code_notes">Twitter</a> 
          <a target="_blank" style="background: #d34836; padding: 0 5px; border-radius: 4px; color: #ffffff; text-decoration: none;" href="https://plus.google.com/118319575543333993544">Google+</a>
        </p>
      </div>
    </nav>
    
    <!-- Content -->
    <div style="padding: 0 15px;">
      <!-- Buat sebuah tombol Cancel untuk kemabli ke halaman awal / view data -->
      <a href="index.php" class="btn btn-danger pull-right">
        <span class="glyphicon glyphicon-remove"></span> Cancel
      </a>
      
      <h3>Form Import Data</h3>
      <hr>
      
      <!-- Buat sebuah tag form dan arahkan action nya ke file ini lagi -->
      <form method="post" action="" enctype="multipart/form-data">
        <a href="Format.xlsx" class="btn btn-default">
          <span class="glyphicon glyphicon-download"></span>
          Download Format
        </a><br><br>
        
        <!-- 
        -- Buat sebuah input type file
        -- class pull-left berfungsi agar file input berada di sebelah kiri
        -->
        <input type="file" name="file" class="pull-left">
        
        <button type="submit" name="preview" class="btn btn-success btn-sm">
          <span class="glyphicon glyphicon-eye-open"></span> Preview
        </button>
      </form>
      
      <hr>
      
      <!-- Buat Preview Data -->
      <?php
      // Jika user telah mengklik tombol Preview
      if(isset($_POST['preview'])){
        $nama_file_baru = 'data.xlsx';
        
        // Cek apakah terdapat file data.xlsx pada folder tmp
        if(is_file('tmp/'.$nama_file_baru)) // Jika file tersebut ada
          unlink('tmp/'.$nama_file_baru); // Hapus file tersebut
        
        $ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION); // Ambil ekstensi filenya apa
        $tmp_file = $_FILES['file']['tmp_name'];

        // Cek apakah file yang diupload adalah file Excel 2007 (.xlsx)
        if($ext == "xlsx"){
          // Upload file yang dipilih ke folder tmp
          move_uploaded_file($tmp_file, 'tmp/'.$nama_file_baru);
          
          // Load librari PHPExcel nya
          require_once 'PHPExcel/PHPExcel.php';
          
          $excelreader = new PHPExcel_Reader_Excel2007();
          $loadexcel = $excelreader->load('tmp/'.$nama_file_baru); // Load file yang tadi diupload ke folder tmp
          $sheet = $loadexcel->getActiveSheet()->toArray(null, true, true ,true);
          
          // Buat sebuah tag form untuk proses import data ke database
          echo "<form method='post' action='import.php'>";
          
          // Buat sebuah div untuk alert validasi kosong
          echo "<div class='alert alert-danger' id='kosong'>
          Semua data belum diisi, Ada <span id='jumlah_kosong'></span> data yang belum diisi.
          </div>";
          
          echo "<table class='table table-bordered'>
          <tr>
            <th colspan='5' class='text-center'>Preview Data</th>
          </tr>
          <tr>
            <th>NIS</th>
            <th>Nama</th>
            <th>Jenis Kelamin</th>
            <th>Telepon</th>
            <th>Alamat</th>
          </tr>";
          
          $numrow = 1;
          $kosong = 0;
          foreach($sheet as $row){ // Lakukan perulangan dari data yang ada di excel
            // Ambil data pada excel sesuai Kolom
            $nis = $row['A']; // Ambil data NIS
            $nama = $row['B']; // Ambil data nama
            $jenis_kelamin = $row['C']; // Ambil data jenis kelamin
            $telp = $row['D']; // Ambil data telepon
            $alamat = $row['E']; // Ambil data alamat
            
            // Cek jika semua data tidak diisi
            if($nis == "" && $nama == "" && $jenis_kelamin == "" && $telp == "" && $alamat == "")
              continue; // Lewat data pada baris ini (masuk ke looping selanjutnya / baris selanjutnya)
            
            // Cek $numrow apakah lebih dari 1
            // Artinya karena baris pertama adalah nama-nama kolom
            // Jadi dilewat saja, tidak usah diimport
            if($numrow > 1){
              // Validasi apakah semua data telah diisi
              $nis_td = ( ! empty($nis))? "" : " style='background: #E07171;'"; // Jika NIS kosong, beri warna merah
              $nama_td = ( ! empty($nama))? "" : " style='background: #E07171;'"; // Jika Nama kosong, beri warna merah
              $jk_td = ( ! empty($jenis_kelamin))? "" : " style='background: #E07171;'"; // Jika Jenis Kelamin kosong, beri warna merah
              $telp_td = ( ! empty($telp))? "" : " style='background: #E07171;'"; // Jika Telepon kosong, beri warna merah
              $alamat_td = ( ! empty($alamat))? "" : " style='background: #E07171;'"; // Jika Alamat kosong, beri warna merah
              
              // Jika salah satu data ada yang kosong
              if($nis == "" or $nama == "" or $jenis_kelamin == "" or $telp == "" or $alamat == ""){
                $kosong++; // Tambah 1 variabel $kosong
              }
              
              echo "<tr>";
              echo "<td".$nis_td.">".$nis."</td>";
              echo "<td".$nama_td.">".$nama."</td>";
              echo "<td".$jk_td.">".$jenis_kelamin."</td>";
              echo "<td".$telp_td.">".$telp."</td>";
              echo "<td".$alamat_td.">".$alamat."</td>";
              echo "</tr>";
            }
            
            $numrow++; // Tambah 1 setiap kali looping
          }
          
          echo "</table>";
          
          // Cek apakah variabel kosong lebih dari 0
          // Jika lebih dari 0, berarti ada data yang masih kosong
          if($kosong > 0){
          ?>	
            <script>
            $(document).ready(function(){
              // Ubah isi dari tag span dengan id jumlah_kosong dengan isi dari variabel kosong
              $("#jumlah_kosong").html('<?php echo $kosong; ?>');
              
              $("#kosong").show(); // Munculkan alert validasi kosong
            });
            </script>
          <?php
          }else{ // Jika semua data sudah diisi
            echo "<hr>";
            
            // Buat sebuah tombol untuk mengimport data ke database
            echo "<button type='submit' name='import' class='btn btn-primary'><span class='glyphicon glyphicon-upload'></span> Import</button>";
          }
          
          echo "</form>";
        }else{ // Jika file yang diupload bukan File Excel 2007 (.xlsx)
          // Munculkan pesan validasi
          echo "<div class='alert alert-danger'>
          Hanya File Excel 2007 (.xlsx) yang diperbolehkan
          </div>";
        }
      }
      ?>
    </div>
  </body>
</html>

 

Saya tidak akan menjelaskan soal skrip diatas, karena sudah saya jelaskan per masing-masing skrip (dengan komentar). Tapi saya akan jelaskan alur form import diatas. Pertama, User harus mendownload Format File Excel yang sudah kita buat sebelumnya. Kedua, User megisi data yang akan diimport pada file excel yang telah di download tadi. Ketiga, user memilih file excel yang akan diimport datanya lalu klik tombol preview. Keempat, Ketika user mengklik tombol preview, sistem akan melakukan:

  1. Validasi apakah file yang dipilih memiliki format microsoft excel 2007 (.xlsx) atau tidak
  2. Validasi apakah user telah mengisi semua data yang diperlukan pada file excel tersebut. Jika masih ada yang kosong / belum diisi, sistem akan memberi informasi berupa jumlah data yang masih kosong dan memberi tahu user data mana saja yang kosong dengan cara memberi background merah pada kolom / baris yang kosong (pada tabel preview)
  3. Apabila lolos dari kedua validasi yang saya sebutkan diatas, sistem akan memunculkan tombol Import untuk melakukan proses import data. Tapi apabila ternyata tidak lolos validasi, tombol import tidak akan muncul.

STEP 5 – PROSES IMPORT
Terakhir, kita akan membuat file php untuk memproses import data ke databasenya. Buat sebuah file baru dengan nama import.php, lalu simpan pada folder xampp/htdocs/import_php/. Berikut ini kodenya :

<?php
/*
-- Source Code from My Notes Code (www.mynotescode.com)
--
-- Follow Us on Social Media
-- Facebook : http://facebook.com/mynotescode/
-- Twitter  : http://twitter.com/mynotescode
-- Google+  : http://plus.google.com/118319575543333993544
--
-- Terimakasih telah mengunjungi blog kami.
-- Jangan lupa untuk Like dan Share catatan-catatan yang ada di blog kami.
*/

// Load file koneksi.php
include "koneksi.php";

if(isset($_POST['import'])){ // Jika user mengklik tombol Import
  $nama_file_baru = 'data.xlsx';

  // Load librari PHPExcel nya
  require_once 'PHPExcel/PHPExcel.php';

  $excelreader = new PHPExcel_Reader_Excel2007();
  $loadexcel = $excelreader->load('tmp/'.$nama_file_baru); // Load file excel yang tadi diupload ke folder tmp
  $sheet = $loadexcel->getActiveSheet()->toArray(null, true, true ,true);

  $numrow = 1;
  foreach($sheet as $row){
    // Ambil data pada excel sesuai Kolom
    $nis = $row['A']; // Ambil data NIS
    $nama = $row['B']; // Ambil data nama
    $jenis_kelamin = $row['C']; // Ambil data jenis kelamin
    $telp = $row['D']; // Ambil data telepon
    $alamat = $row['E']; // Ambil data alamat

    // Cek jika semua data tidak diisi
    if($nis == "" && $nama == "" && $jenis_kelamin == "" && $telp == "" && $alamat == "")
      continue; // Lewat data pada baris ini (masuk ke looping selanjutnya / baris selanjutnya)

    // Cek $numrow apakah lebih dari 1
    // Artinya karena baris pertama adalah nama-nama kolom
    // Jadi dilewat saja, tidak usah diimport
    if($numrow > 1){
      // Proses simpan ke Database
      // Buat query Insert
      $sql = $pdo->prepare("INSERT INTO siswa VALUES(:nis,:nama,:jk,:telp,:alamat)");
      $sql->bindParam(':nis', $nis);
      $sql->bindParam(':nama', $nama);
      $sql->bindParam(':jk', $jenis_kelamin);
      $sql->bindParam(':telp', $telp);
      $sql->bindParam(':alamat', $alamat);
      $sql->execute(); // Eksekusi query insert
    }

    $numrow++; // Tambah 1 setiap kali looping
  }
}

header('location: index.php'); // Redirect ke halaman awal
?>

Sedikit tambahan penjelasan dari skrip diatas :

$nis = $row[‘A‘]; // Ambil data NIS
$nama = $row[‘B‘]; // Ambil data nama
$jenis_kelamin = $row[‘C‘]; // Ambil data jenis kelamin
$telp = $row[‘D‘]; // Ambil data telepon
$alamat = $row[‘E‘]; // Ambil data alamat
Yang saya beri warna merah pada skrip diatas harus sama dengan nama kolom yang ada d file excel yang akan diimport. Lihat gambar dibawah ini untuk lebih jelasnya :

Excel - Cara Membuat Import Data Excel dengan PHP dan MySQL


Source Code
Untuk mengunduh source code nya, klik salah satu link dibawah ini
– Download versi PDO : Link download yang sesuai tutorial ini yakni menggunakan fungsi PDO untuk query ke databasenya
– Download versi MySQLi : Link download untuk Anda yang ingin source code versi MySQLi dari tutorial ini

Sumber & Referensi
Dokumentasi Bootstrap : http://getbootstrap.com
Dokumentasi PHPExcel : https://github.com/PHPOffice/PHPExcel/wiki/User%20Documentation

Tutorial import data dari excel dengan php dan mysql, Tutorial import data dari excel dengan PHPExcel, Cara import data excel dengan php dan mysql, import data excel dengan PHPExcel, import data dari excel dengan php dan mysql, Source Code import data excel dengan PHPExcel dan MySQL

Import Data

(Total : 66,192 viewers, 1 viewers today)
cara-membuat-import-data-excel-dengan-php-dan-mysql

ABOUT THE AUTHOR

Interested in android programming, long time focused on web development. Visit My Profile Site at www.rizaldimaulidia.com

POST YOUR COMMENTS TO Ardi Ansyah (Cancel)

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

Name *

Email *

Website

376 Comments

  1. difiaz_chocc

    Fatal error: Array and string offset access syntax with curly braces is no longer supported in C:\xampp\htdocs\import_php\PHPExcel\PHPExcel\Shared\String.php on line 526

    gan mau tanya klo ini knpa ya ?

  2. Ragil Dar

    Mas mau nanya, klo pada saat import otomatis mendapat nomer yang berurutan mengikuti nomer terakhir di database, dgn catatan nomer tsb menggunakan kode, di database phpmyadmin tidak menggunakan autoincrement..
    trimakasih

    • bisa, alurnya seperti ini :
      1. Buat query untuk count jumlah data terakhir di database ada berapa
      2. Dari hasil count diatas ditambah 1 : $sequence = $countdrdb + 1;
      3. Buat variabel untuk kode yg baru, misal : $code = “A” . $sequence; // ini akan menghasilkan A1, A2, A3, dst.

  3. runi wulan sari

    mas, ada grup yg bisa buat tanya jawab gak? aku lg butuh banget buat sharing

    • kalau grup sih paling di facebook ada mba, PHP Indonesia, bisa ditanyakan disitu
      atau kalau mau tanya saya boleh disini ceritakan masalahnya gimana

  4. Kido_234

    Agan makasih bgt ilmu nya.
    Cuma saya mau tanya,,kl di preview mau munculin pesan/notif misal “jumlah data yg diupload : 7, error : 3, sukses : 4”. Kira2 itu pake count array values ato apa ya?..makasih dan salam gan..

    • preview kan baru preview om, belum diproses importnya. jadi ya ga bisa kalau mau hitung berapa jumlah sukses/error nya, karena memang belum diproses importnya

  5. birson muara

    SIp gan sudah saya coba berhasil semua.
    saya ada pertanyaan gan bagaimana caranya merubah Laki-Laki menjadi angka 1 dan perempuan menjadi angka 2 saat masuk e dlm database mysql?

    • bisa pakai if..else.. om
      contoh :
      < ?php if ($jeniskelamin == "Laki-laki") { $jk = 1; }else{ $jk = 2; } ?>

      nah yg di insert ke database nanti si $jk.
      Mohon maaf baru bisa balas, kemarin-kemarin saya lagi sakit.

  6. ilham ridani

    Ketika di Preview muncul datanya dan ketika di klik import tidak menambahkan ke database, itu kenapa ya gan?

      • alphadelta

        terima kasih sebelumnya sharing ilmunya kak, sangat bermanfaat sekali..

        ada kesulitan sedikit,

        ketika diprewiew, data nya ada (terbaca) & muncul, tp ketika di klik import data tidak emnyimpan, kembali ke halaman index.php pun tidak menambah daftar tabel. padahal saya sudah bandingkan beberapa kali sama file masternya (source code nya).
        mohon dibatu kk..
        saya pakai xampp untuk pembuatan databasenya (mysql).

        demikian, terima kasih

        • sama-sama om, senang bisa membantu 😀
          Ada kemungkinan error di query insertnya, coba buka file import.php, lalu edit bagian ini :
          $sql->execute(); // Eksekusi query insert

          ubah jadi seperti ini :
          if (!$sql->execute()) {
          print_r($sql->errorInfo());
          exit();
          }

          itu untuk memunculkan kalau ada error di query insertnya, coba import ulang, dan cek apa ada error yang muncul atau tidak

          • alphadelta

            Di bagian import.php gak ada sintax ini-> $sql->execute(); // Eksekusi query, adanya ini->
            mysqli_query($connect, $query); (saya pakai mysqli ka).

            sempet saya coba hapus dan ganti dengan sintax
            if (!$sql->execute()) {
            print_r($sql->errorInfo());
            exit();
            }
            hasilnya ini

            Notice: Undefined variable: sql in C:\xampp\htdocs\importexcel\import.php on line 41

            Fatal error: Uncaught Error: Call to a member function execute() on null in C:\xampp\htdocs\importexcel\import.php:41 Stack trace: #0 {main} thrown in C:\xampp\htdocs\importexcel\import.php on line 41

            gimana ya ka ??

      • alphadelta

        Mohon responnya ka pertanyaan saya disebelumnya 😀

        • oh ini om nya pakai yg versi mysqli ya berarti ubah skrip ini :
          mysqli_query($connect, $query);

          jadi seperti ini :
          mysqli_query($connect, $query) or die(mysqli_error($connect));

          Mohon maaf baru sempat balas, kemarin lagi kurang sehat jadi tidak bisa on.

      • alphadelta

        ijin ka, masih belum ketemu nih.. hehe…
        saya coba pake yg ini ->
        mysqli_query($connect, $query) or die(mysqli_error($connect));

        hasilnya ini->
        “Column count doesn’t match value count at row 1”

        mohon pencerahannya ka

        • dari errornya “Column count doesn’t match value count at row 1”
          itu artinya jumlah kolom di tabel database tidak sama dengan jumlah kolom yang ada di query insert.
          misal saya punya tabel di database dengan nama “siswa” dan kolomnya terdiri dari “id, nis, nama”

          nah di php nya, ketika proses insert, saya buat gini :
          “INSERT INTO siswa VALUES(‘1’, ‘1001’, ‘Rizaldi’, ‘Bandung’)”

          bisa dilihat diquery insert diatas, saya insert 4 value, padahal di tabel cuman ada 3 kolom, harusnya value “bandung” disitu ga perlu karena tidak ada kolom ke 4 di tabel databasenya.
          jadi query yang benar harusnya gini :
          “INSERT INTO siswa VALUES(‘1’, ‘1001’, ‘Rizaldi’)”

          Mohon maaf baru sempat balas

  7. WAHYU SUSILO

    sore gan, mau tanya bisa ngga nama file nya di rubah selain data.xlsx ?

    • sangat bisa. om nya mau pakai format .xls? kalau iya om ubah skrip ini :
      $excelreader = new PHPExcel_Reader_Excel2007();

      ubah jadi :
      $excelreader = new PHPExcel_Reader_Excel2005();

      lalu ubah skrip ini :
      $nama_file_baru = 'data.xlsx';

      jadi :
      $nama_file_baru = 'data.xls';

      lalu ubah skrip ini :
      if($ext == "xlsx"){

      jadi :
      if($ext == "xls"){

      Mohon maaf baru sempat balas

  8. AJie masaid

    Omm sudah ada import data base yang support ke php 8?

  9. ndholkondho

    Artikel bagus, cuman saya coba masukkan di excel nya kalo nilai 0 kok di preview php ter blok warna merah ya? Bagaimana supaya nilai 0 juga bisa teraca (tidak di blok merah)? Makasih banyak

    • oh iya ini soalnya ketika pengecekan data kosong saya menggunakan function empty(). function ini akan membaca variabel Kosong atau 0 itu dianggap empty. coba om ganti kondisinya jangan pakai function empty(). sebagai contoh seperti ini :
      $nis_td = ( ! empty($nis))? "" : " style='background: #E07171;'";

      code diatas ganti jadi :
      $nis_td = ($nis != "")? "" : " style='background: #E07171;'";

  10. putra alma

    kalau bgini gan masalahnya apa..?

    Warning: require_once(PHPExcel/PHPExcel.php): failed to open stream: No such file or directory in C:\xampp\htdocs\import_php\form.php on line 99

    Fatal error: require_once(): Failed opening required ‘PHPExcel/PHPExcel.php’ (include_path=’C:\xampp\php\PEAR’) in C:\xampp\htdocs\import_php\form.php on line 99

    • pastikan librari PHPExcelnya sudah ada, dan saat include sudah benar. ini karena salah path PHPExcelnya saat include

  11. Yusril Fathullah Aji

    bang untuk nambah menu navbarnya sama dropdownnya ada codingannya ga bang? saya udh coba cari templatenya tpi ga cocok sama codingan yang diatas
    mohon bantuannya bang

  12. Alif Putra

    terima kasih bang, ijin save, semoga sukses selalu

  13. Yusril Fathullah Aji

    bang saya data udh dipreview sudah sesuai datanya ada 100 data pas diimport nampilnya cuma 4 data doang , gmn tuh solusinya bang
    terima kasih

    • Pada file import.php, setelah skrip (Kalau sesuai tutorial ini, ada di line 52):
      $sql->execute(); // Eksekusi query insert

      tambahkan skrip berikut :
      if( ! $sql){
      print_r($pdo->errorInfo());
      exit();
      }

      Setelah itu, coba import lagi, harusnya kalau ada query error, muncul errornya di layar. kalau ada error, copas errornya di komentar sini

  14. Fadel Fachrezi

    Selamat siang mas
    saya coba code nya namun
    1. “Notice: Trying to access array offset on value of type int in C:\xampp\htdocs\import_php_mysqli\PHPExcel\PHPExcel\Cell\DefaultValueBinder.php on line 82”
    2. “Notice: Trying to access array offset on value of type null in
    saya pake PHP 7.4

    apakah ada source code untuk PHP versi 7 mas ?

    • Tutorial ini menggunakan librari PHPExcel, dimana sudah saya cek hanya mendukung sampai PHP Versi 7.2.8. jadi mungkin om nya bisa download xampp dengan php yang versinya dibawah 7.2.8.
      Untuk tutorial buat yang pakai PHP versi diatas 7.2.8 akan saya buatkan, jadi tunggu saja update nya

  15. Erwin Yuliyanto .

    Gan saya mau nanya , saya coba tambah 2 data gan dari tutorial yg agan punya , (nis,nama,jenis_kelamin,telp,alamat,reff,vendor) tapi yg tidak masuk yg saya coba tambah reff sama vendor aja gan yg lainnya bisa masuk gan, padahal udah saya samakan column abc sama seperti diexcel tapi Masih belom bisa juga , saya pakai mysqli

    • yang 2 field itu, ada di kolom apa pada excelnya?
      pastikan ketika import, ketika get data nya sudah sesuai dia ada dikolom apa. sesuai penjelasan saya pada step terakhir.
      lalu pastikan juga masukan data tersebut pada query insertnya

  16. Bagir Assagaf

    gan sy mau tanya..
    saya coba preview muncul error
    1. “Notice: Trying to access array offset on value of type int in C:\xampp\htdocs\import_php_mysqli\PHPExcel\PHPExcel\Cell\DefaultValueBinder.php on line 82”
    2. “Notice: Trying to access array offset on value of type null in C:\xampp\htdocs\import_php_mysqli\PHPExcel\PHPExcel\Calculation.php on line 3349”

    saya menggunakan php versi 7.4.7
    mohon pencerahannya gan. terima kasih

  17. aryo dokter

    gan saya mau tanya
    beberapa kali saya mencoba dan data semua sudah saya ini.
    namun saat preview ada warning ” semua data belum di isi” padahal sudah di isi.
    setelah cek consol web terdapat 2 erorr

    Failed to load resource: the server responded with a status of 404 (Not Found) jquery.min.js :1
    form.php:27 Uncaught ReferenceError: $ is not defined at form.php:27

    bagaimana solusinya om. mohon di bantu

    • itu 404 not found, file jquerynya tidak ditemukan, pastikan saat load file jquerynya sudah benar path nya. sudah diikuti step 1 nya?

  18. la yuslan

    Terimakasih banyak atas ilmunya. izin mempelajari.

  19. teuku pryan

    mau tanya, ni kenapa ya ???
    Notice: Trying to access array offset on value of type int in C:\xampp\htdocs\import_php\PHPExcel\PHPExcel\Cell\DefaultValueBinder.php on line 82

  20. Sandi PP

    Mau tanya bang, kalau di contoh data kan mulai dari baris ke dua dan baris pertamanya header, kalau mau dibuat data nya mulai dari baris ketiga gimana ya ? karena headernya ada 2 baris

    • sudah baca-baca comment yang saya cantumkan pada setiap baris skrip nya? sudah saya jelaskan om disitu

  21. Mochamad Andri

    gan mau tanya, kenapa sudah di import file xlsx tetapi tidak muncul di database dan di tampilan index.php tidak muncul?

    • om menggunakan PDO atau MySQLi?

      Kalau pakai PDO,
      Buka file import.php, cari skrip berikut :
      $sql->execute(); // Eksekusi query insert

      Kemudian tambahkan skrip berikut setelah skrip diatas :
      if (!$sql->execute()) {
      print_r($sql->errorInfo());
      }

      Kalau pakai MySQLi,
      Buka file import.php, cari skrip berikut :
      mysqli_query($connect, $query);

      Kemudian ubah skrip tersebut menjadi seperti ini :
      mysqli_query($connect, $query) or die(mysqli_error($connect));

      Kemudian coba import lagi, seharusnya akan ada error yang muncul ketika query nya ada yang salah. Kalau ada error yang muncul, kasih tau saya errornya apa.

  22. fandieachmad

    gan mau tanya di localhost ke simpan datanya di database, cuma di domain server gk ke save ya..kira – kira apanya yng perlu di setting

    terima kasih

      • fandieachmad

        gk ada error gan ternyata blm di chmod 777 , oh iya gan supaya klo data yg kosong di Excel gk bisa di import gmana ya gan? soalnya klo ada salah satu yg kosong tetap terimport dan tersimpan. mohon pencerahannya

        • tinggal di ubah skrip pada form.php yang ini :
          if($nis == "" && $nama == "" && $jenis_kelamin == "" && $telp == "" && $alamat == "")

          diubah jadi :
          if($nis == "" or $nama == "" or $jenis_kelamin == "" or $telp == "" or $alamat == "")

          • fandieachmad

            thanks gan …berhasil

  23. Aldi Alfiansyah

    Gan mau nanya. ini saya coba berhasil di Localhost. tapi ketika sudah dipush di server, pas klik Previewnya ko ga muncul yaa jadi gk bisa import data ke database karena button import muncul ketika klik preview.

    mohon responnya gan. terima kasih.

      • tri zabarie

        Gan mau nanya. ini saya coba berhasil di Localhost. tapi ketika sudah dipush di server, pas klik Previewnya ko ga muncul yaa jadi gk bisa import data ke database karena button import muncul ketika klik preview. DAn tidak ada pesan errornya

        mohon responnya gan. terima kasih.

  24. Ginanjar Adi Suciarto

    nanyak gan kalau mau kita buat datanya ke insert ke database semua walaupun column atau isi data nya sama itu bagaimna ya ?

    • ditutorial ini memang akan tetap insert walau datanya sama om, cuman kalau ada data yang kosong dia bakal divalidasi dan ga akan bisa import

  25. ragil9898

    gan kan di excel ada beberapa sheet nih, kalo misalkan sheet pertama dikasih nama “M”, sheet kedua “N”, sheet ketiga “O” sama yg keempat dikasih nama “P” itu ngambilnya gimana ya? kan di atas cuma diambil dari 1 sheet aja diexcel. thanks gan sebelumnya

    • Sebelum coding ini :
      $sheet = $loadexcel->getActiveSheet()->toArray(null, true, true ,true);

      tambahkan coding ini :
      $loadexcel->setActiveSheetIndex(2);

      Angka 2 di dalam kurung tersebut menunjukan sheet berapa yang mau di aktifkan. untuk lebih jelasnya silahkan baca dokumentasi dari phpexcelnya, dokumentasinya bisa di download pada bagian Sumber & Referensi pada tutorial ini.

      • ragil9898

        gan, kan udah bisa dipillih tuh sheet nya, kalo multi sheet gimana caranya ya gan?

  26. Ardi

    Gan nanya dong…

    Seumpama Nim nya bukan int tapi varchar, berarti bikin id_nim sebagai pk.

    Nah bagai samamana kira2 caranya utk id_nim terisi secara otomatis tanpa ikut di upload .
    Terima kasih gan

  27. ardirachman

    Permisi om,

    Misalnya di NIS nya ada huruf bagaimana ya om?
    Contoh:
    NIS = 1200M001
    NIS = 1200M002

    Button Preview-nya sudah tampil dengan lengkap, saat import nya berhasil tapi jadi terpotong 1200 (harusnya 1200M001).

    Terima kasih om

    • tipe data field nis di databasenya apa om? kalau sesuai tutorial ini kan varchar(11) harusnya ga ada masalah

      • ardimawar

        Ok om.. kalau misalnya ada upload ulang data dengan menggunakan Nim yang sama tapi alamatnya berbeda, apakah bisa ya om? Terimakasih

        • ditutorial ini tidak ada validasi seperti itu om, semua data yang akan di import akan langsung masuk tanpa ada validasi

  28. Yuda Januar

    Gan saya sudah coba dengan merubah format data nya, pas di download, upload, preview sudah ok. tapi tetep muncul tampilan bahwa data belum diisi, padahal sudah terisi semua dan gak ada blok merah. dan pas di import data tidak masuk ke database, itu kenapa yah?

  29. dani hermawanto

    Gan, ijin nanya dikit ya Gan..
    Kalo script export ke excel tapi tanpa ada jendela “save as” ada gak gan?
    Jadi dengan klik button, data mysql langsung tersimpan di folder tertentu dengan format excel.
    udah googling kemana-,mana tapi belum nemu .. 🙂
    Trimakasih ya Gan…

  30. MartinMartin

    gan, saya punya coding begini :
    $query = mysqli_query($connection, “SELECT angka FROM t_hitung”);

    hasilnya akan seperti ini :
    1
    2
    3
    4

    Bagaimana cara membuat hasilnya menjadi :
    1,2,3,4

    Mohon bantuannya gan.

  31. Afif Geral

    makasi byk tutorialnya, sangat bermanffat 🙂

    gan, mau nanya :
    saya punya data transaksi yang berisi nama pelanggan, tanggal, dan keterangan belanja.
    Saya melakukan import data transaksi. Misal : Afif, 21-10-2019, Sepatu Hitam.
    Sedangkan pada database pelanggan terdapat id pelanggan dan nama pelanggan. nah kebetulan id pelanggan 001 adalah Afif.
    1. Bagaimana cara membaca bahwa Afif adalah 001 dan cara insert ke database dengan id 001?
    2. Tanggal seharusnya berbentuk date. jika pada excel saya memasukkan string/char. Bagaimana cara melakukan pengecekan bahwa tanggal harus berbentuk date. Jika String maka akan keluar alert?

    Versi MYSQLI ya gan.

    Mohon pencerahannya. Terimakasih.

    • Afif Geral

      Maksud dari pertanyaan nomer 1 adalah yang dimasukkan kedatabase adalah id 001 bukan “Afif” nya

    • untuk yang pertama, om nya pelajari dan pahami “Query Join” atau relasi tabel di database
      untuk yang kedua, bisa dengan menggunakan fungsi strtotime("datestring") dan tambahkan if…else…, contoh :

      if(strtotime($dateygakandicek) == false){
      // Ini bukan tanggal
      echo "Bukan Tanggal";
      }

      logicnya kaya gitu, tinggal di improve dan disesuaikan untuk yg nomor 2

      • Afif Geral

        sudah saya coba gan, saya masih bingung yang nomor 1.

        $nama = $row[‘B’];
        $cariid = mysqli_query($connection, “SELECT id_pel FROM pelanggan WHERE nama_pel = $nama”);
        $cekid = mysqli_fetch_array($cariid);

        if ($numrow > 1) {
        // Buat query Insert
        $query = “INSERT INTO transaksi VALUES(‘” . $code . “‘,'” . $cekid . “‘,'” . $konversi . “‘,'” . $harga . “‘,'” . $deskripsi . “‘)”;

        // Eksekusi $query
        mysqli_query($connection, $query);
        }

        $numrow++; // Tambah 1 setiap kali looping
        }

        Yang ke insert ke database adalah “Array” bukan id pelanggannya. Bagaimana ya mas? mohon bantuannya

        • salah cara manggilnya om, harusnya $cekid[‘id_pel’]
          kalau $cekid saja ya isinya array, makanya harus di panggil juga dengan nama field yang mau diambil datanya

  32. vid vids

    gan, kalau di excel format tanggalnya : 10/10/2018. pas diimport ke php, cara mengubah 10/10/2018 menjadi 2018-10-10. apa yang perlu ditambah ya gan untuk versi MYSQLI ? Makasi

    • date('Y-m-d', strtotime($tglygmaudiconvert));

      contoh :

      $tgl = '10/10/2018';
      $convert = date('Y-m-d', strtotime($tgl));

      • Mohamad Farhan

        saya mau tanya lagi gan, saya ada field tanggal dari excel. formatnya adalah 13/05/2019, tapi begitu saya import hasilnya di database malah 0000-00-00, bagaimana cara setting format tanggalnya min? supaya yang tersimpan di database sesuai dengan yg di excel dengan format dd/mm/yyyy. thanks

        • pakai fungsi date dan strtotime.
          date('Y-m-d', strtotime($tglygmaudiconvert));

          contoh :

          $tgl = '10/10/2018';
          $convert = date('Y-m-d', strtotime($tgl));

  33. Mohamad Farhan

    mau nanya lagi gan:D kan semua udah clear ya, gaada yg error lagi. tapi ketika saya klik import. tidak ada dara yang masuk kedalam view maupun databasenya. tapi tidak ada peringatan error juga. saya jadi tidak bisa mendeteksi dimana kesalahannya. makasih sebelumnya:)

    • om nya menggunakan versi PDO atau MySQLi?
      pada file import.php
      kalau PDO coba ganti skrip $sql->execute(); jadi seperti ini :
      if (!$sql->execute()) {
      print_r($sql->errorInfo());
      die;
      }

      kalau MySQLi tambahkan skrip ini setelah mysqli_query, seperti ini :
      mysqli_query($connect, $query) or die(mysqli_error($connect));

  34. Mohamad Farhan

    Fatal error: Uncaught PHPExcel_Reader_Exception: Could not open tmp/Surat CBG.xlsx for reading! File does not exist. in C:\xampp\htdocs\import_cbg\PHPExcel\PHPExcel\Reader\Excel2007.php:338 Stack trace: #0 C:\xampp\htdocs\import_cbg\import.php(24): PHPExcel_Reader_Excel2007->load(‘tmp/Surat CBG.x…’) #1 {main} thrown in C:\xampp\htdocs\import_cbg\PHPExcel\PHPExcel\Reader\Excel2007.php on line 338

    kenapa tuh mas? posisi salahnya ketika saya klik import malah keluar error tsb. sebelumnya untuk di preview sudah tambil datanya sesuai dengan yang ada di excel. Thanks:)

    • dari errornya sudah jelas om, File does not exist, file excel yang akan di import di folder tmp nya ga ada, kemungkinan proses uploadnya gagal ini om. coba share skrip nya ke pastebin atau kirim via email

      Mohon maaf baru bisa balas

  35. boy firman

    Gan,…saya coba script ini OK banget,…tapi pada waktu file xlsx nya ada kolom L, M, N, O, dst ada error message Notice: Undefined index: L

    Pernah coba gak gan, kolum data di file xlsx nya mulai melebar dari kolom L, M, N, O dst

    • saya malah pernah lebih dari itu om, coba share source code projectnya om, kirim via email atau fans page fb kami. biar saya bisa cek

      • boy firman

        Udah bisa gan,…mungkin kemaren mata & pikiran ane udah cape kali ya,…hehehe,…udah proven bahwa script nya running tanpa masalah. Makasi banget ilmu nya gan, semoga ilmu ente semakin membawa berkah lagi & berguna bagi yang membutuhkannya,…aminnn

        • haha mantul om, iyaa wajar om jadiin pengalaman saja om 😀
          Siap sama-sama om, Amiin amiin terimakasih atas doa nya om senang bisa membantu 😀

  36. vid vids

    Saya mau nanya lg gan,
    misalkan sebelumnya id SIS009 adalah si ‘Alpha’. Kemudian saya melakukan import data excel ke dtabase, kebetulan ada nama yang sama muncul pada saaat preview data. Bagaimana cara mengecek bahwa nama tsb sudah pernah ada didatabase? Terimakasih

    • bikin query ketika looping $sheet pada file form.php

      foreach($sheet as $row){
      $sql = $pdo->prepare("SELECT id FROM siswa WHERE id='".$row['A']."'");
      $sql->execute();
      $cekdata = $sql->fetch();

      if(empty($cekdata)){
      // Jika siswa dengan ID tersebut belum ada di database
      // Maka lakukan....
      }else{
      // Jika siswa dengan ID tersebut sudah ada di database
      // Maka lakukan....
      }
      }

      dengan catatan $row[‘A’] adalah ID pada excelnya

  37. Mohamad Farhan

    mas saya mau tambahkan field tabelnya. saya download format tapi fieldnya masih default dari masnya. bukan berdasar yg saya sudah edit. bagaimana? terima kasih

  38. vid vids

    Mau nanya gan, NIS diatas kan diisi manual dari excel. Kalau misalkan saya punya tabel id_siswa dengan tipe varchar[10]. saya looping menggunakan kodingan berikut :

    $hasil = mysqli_query($connection, “SELECT max(id_pel) FROM siswa”);
    $kode_siswa= mysqli_fetch_array($hasil);

    if ($kode_siswa) {
    $nilai = substr($kode_siswa[0], 3);
    $kode = (int) $nilai;

    //tambahkan sebanyak + 1
    $kode = $kode + 1;
    $auto_kode = “SIS” . str_pad($kode, 4, “0”, STR_PAD_LEFT);
    }

    Hasil nya akan sprti : SIS001, SIS002, dst.

    Jadi, di excel saya tidak ada kolom untuk ID SISWA. Saya mau pas diimport, data yang akan diimport akan otomatis mendapatkan ID nya. Bagaimana ya mas caranya? Mohon pencerahannya.

    • lebih baik field ID tetap ada om dan tetap menjadi primary key, kalau mau menambahkan itu tambahkan saja field code misalnya. lalu pada file import.php :

      foreach($sheet as $row){
      // buat query untuk count semua data siswa
      $sql = mysqli_query($connect, "SELECT COUNT(id) AS jml FROM siswa");
      $count = mysqli_fetch_array($sql);
      $newcode = $count['jml'] + 1;
      $code = "SIS".str_pad($newcode, 4, "0", STR_PAD_LEFT);

      // lalu lakukan insert dengan code tersebut
      // Kode tersebut akan otomatis menambah sesuai jumlah field di database
      // kalau di database ada 3 siswa, maka code nya akan jd SIS0004, begitu seterusnya
      }

      • vid vids

        Oke gan, saya coba dlu.

        Saya mau nanya lg gan,
        misalkan sebelumnya id SIS009 adalah si ‘Alpha’. Kemudian saya melakukan import data excel ke dtabase, kebetulan ada nama yang sama muncul pada saaat preview data. Bagaimana cara mengecek bahwa nama tsb sudah pernah ada didatabase? Terimakasih.

  39. nisyooooooo

    mau nanya gan, saya coba untuk upload file besar dengan jumlah 65rbu keatas. muncul eror nya : “Fatal error: Uncaught exception ‘PHPExcel_Reader_Exception’ with message ‘Could not open tmp/data.xlsx for reading! File does not exist.’ in C:\xampp\htdocs\import_php_excel_oracle\PHPExcel\PHPExcel\Reader\Excel2007.php:338 Stack trace: #0 C:\xampp\htdocs\import_php_excel_oracle\form.php(104): PHPExcel_Reader_Excel2007->load(‘tmp/data.xlsx’) #1 {main} thrown in C:\xampp\htdocs\import_php_excel_oracle\PHPExcel\PHPExcel\Reader\Excel2007.php on line 338”

    cara ngatasinya gimana yaa kalo upload file excel terlalu besar ? kendalanya ini , file excelnya gak bisa nyimpen di folder tmp gan. mohon pencerahannya thx

    • kemungkinan ini karena file excelnya gagal di upload. coba cek path folder file diupload nya apa sudah benar? folder tmp nya apakah sudah dibuat? ikuti step 1 nomor 6

  40. Mhd Arif Setiawan

    Mau nanya gan. cara atasi ini gimana ya Warning: strtotime(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone ‘UTC’ for now, but please set date.timezone to select your timezone

    • coba tambahkan skrip ini pada file index nya om, simpan di paling atas:
      <?php
      date_default_timezone_set("Asia/Jakarta");
      ?>

      • Irena Septianis

        Sudah d tambahkan kok masih eror ya gan ?

        • sudah di simpan paling atas skrip?
          kalau masih error juga coba ubah php.ini nya. buka php.ini, cari “date.timezone” dan isi value nya dengan Asia/Jakarta

          date.timezone = Asia/Jakarta

  41. Aman Lukman

    Makasi artikelnya gan.

    Mau nanya, kalau yang diatas kan itu hanya untuk Ms. excel 2007, kalau untuk 2010 atau 2014 atau 2016 itu bagaimana ya? Saya mau buat untuk semua versi excel dari 2007 – 2019. Kira2 bagaimana ya? thnks.

  42. luckman rahardian

    om mau tanya kalo dalam 1 excel lalu kita mau insert ke 2 table sql gmna tuh gan disini

    if($numrow > 1){
    // Proses simpan ke Database
    // Buat query Insert
    $sql = $pdo->prepare(“INSERT INTO siswa VALUES(:nis,:nama,:jk,:telp,:alamat)”);
    $sql->bindParam(‘:nis’, $nis);
    $sql->bindParam(‘:nama’, $nama);
    $sql->bindParam(‘:jk’, $jenis_kelamin);
    $sql->bindParam(‘:telp’, $telp);

  43. Adam Khadafi

    Jquery, gagal download gan

  44. Geraldi Muhammad

    Terimakasih atas tutorialnya gan, mau nanya jika file excel yang di upload adalah file excel 93-2003 itu gimana ya gan?

    • Sama-sama om 😀
      untuk excel 2003 kan ekstensi filenya itu adalah .xls
      om cukup ubah coding PHPExcel_Reader_Excel2007 menjadi PHPExcel_Reader_Excel5

  45. Panji Ragil Trisindo

    Malam gan, untuk Source Code Mysqli tidak bisa di download. Apakah linknya errornya, terima kasih.

  46. Panji Ragil Trisindo

    Siang Gan, minta tlg share Source Code untuk mysqli gan, saya coba masuk linknya eror.
    Terima Kasih

  47. fajar nur iman

    makasih gan, sangat bermanfaat. ane lagi ada tugas dan ini membantu sekali. gan ane mau tanya, klo untuk import file excel digunakan untuk mencari data yang ada di database tanpa menginsert data tersebut bisa ga ya? jadi contoh data di database ada 1000, nah kita ingin dicari 100 data saja dengan cara import file excel untuk pencarian, kira2 bisa ga gan? mohon pencerahannya husuu

  48. adi pirmansah

    kalau import excel ada data password nya, ingin di rubah otomatis menjadi MD5 bagaimana mas?

  49. Ewangga Arga

    Makasih gan, Artikel bermanfaat, nyari source code lain, code versi php nya jarang ada yang dah v7 kek yg di atas, makasih ya min

    • Sama-sama om, senang kalau bisa bermanfaat 😀
      Hehe iyaa di blog saya ini insya allah sudah support php 7 semua

  50. Fatma Adi Syaputra

    Alhamdulillah fitur CRUD sama import data excelnya pada table udh bisa mas rizaldi,
    oiya saya mau tambah 1 fitur lg untuk export data dari table ke excel apakah bisa mas?
    semisal aplikasi web inventory barang ingin membuat laporan data dari tabel, jd harus export data dan datanya yang ingin di export itu di pilih sesuai periode tanggal, apakah bisa mas?

  51. Fatma Adi Syaputra

    Mantap Djiwa min tutorialnya, semoga berkah buat admin..
    oiya sy mau tambah button untuk “edit data” dan “hapus data” apakah bisa min?
    tutorial tentang “replace data table” dan “sorting data” nya ditunggu ya min.. terimakasih

  52. Rhizky Putra

    oh iya gan, file yang mau aku upload itu datanya lebih dari 3000 baris lebih dan untuk kolomnya 15 kolom apakah terlalu banyak ya ?

  53. Rhizky Putra

    Bang mau tanya, apakah script ini bisa dionlinekan di hosting, soalnya saat di localhost bisa lancar namun setelah di hostingkan cuma keupload data sedikit gak full

    • jelas sangat bisa om. kemungkinan karena melebihi batas maksimal execute time di php nya. ada berapa data yang mau di importnya?

      • Rhizky Putra

        jelas sangat bisa om. kemungkinan karena melebihi batas maksimal execute time di php nya. ada berapa data yang mau di importnya?
        saya : datanya ada 3600 lebih dan yang masuk di databse hanya 6 data, apakah harus mengatur execution time di phpnya atau di hostingnya bang ? Terima Kasih

  54. Deni Setiy

    mau tanya di komputer yang sudah di install microsoft excel nya itu source code tersebut bisa digunakan tetapi jika komputernya belum di install excel. source code tersebut tidak bisa. dengan tulisan error file xlsx saja yang diperbolehkan bagaimana yaa solusinya

  55. Imam Fernandi

    mas mau nanya nih, kalo mau matikan fungsi validasi data yang kosong itu gimana ya? soalnya mau masukin data yg nilainya 0 gabisa

    • oh iya om itu ada yang kelewat.
      1. coba ubah saja skrip berikut (pada form.php) :
      if(empty($nis) && empty($nama) && empty($jenis_kelamin) && empty($telp) && empty($alamat))
      continue;

      ubah jadi gini :
      if($nis == '' && $nama == '' && $jenis_kelamin == '' && $telp == '' && $alamat == '')
      continue;

      2. Ubah juga skrip berikut (pada form.php) :
      if(empty($nis) or empty($nama) or empty($jenis_kelamin) or empty($telp) or empty($alamat)){
      $kosong++;
      }

      ubah jadi gini :
      if($nis == '' or $nama == '' or $jenis_kelamin == '' or $telp == '' or $alamat == ''){
      $kosong++;
      }

      3. Ubah skrip berikut (pada import.php) :
      if(empty($nis) && empty($nama) && empty($jenis_kelamin) && empty($telp) && empty($alamat))
      continue;

      ubah jadi gini :
      if($nis == '' && $nama == '' && $jenis_kelamin == '' && $telp == '' && $alamat == '')
      continue;

      • Imam Fernandi

        gabisa mas, muncul pesan error : Parse error: syntax error, unexpected ”” (T_CONSTANT_ENCAPSED_STRING) in C:\xampp\htdocs\import_php\form.php on line 153

  56. Muhammad Subhan

    selamat pagi mas, kalo Query untuk Import File Excel, namun untuk UPDATE bukan Insert, seperti apa ya ? mungkin bisa di share mas :p terima kasihhhh

    • Kalau untuk update data belum ada tutor nya om. Tapi konsepnya sama kaya yang insert, tapi mungkin nantinya ketika download format import nyaa di tampilkan dulu data sebelumnya beserta ID yang jadi primary keynya, agar nanti ketika di import bisa di update berdasarkan ID tadi

  57. Muhammad Subhan

    selamat siang mas, saya sudah coba ikutin code diatas. lalu saat “choose file” dan preview, muncul nya seperti ini.

    Warning: move_uploaded_file(tmp/data.xlsx): failed to open stream: Permission denied in /Applications/XAMPP/xamppfiles/htdocs/import_php/form.php on line 95

    Warning: move_uploaded_file(): Unable to move ‘/Applications/XAMPP/xamppfiles/temp/phpBMtxju’ to ‘tmp/data.xlsx’ in /Applications/XAMPP/xamppfiles/htdocs/import_php/form.php on line 95

    Fatal error: Uncaught PHPExcel_Reader_Exception: Could not open tmp/data.xlsx for reading! File does not exist. in /Applications/XAMPP/xamppfiles/htdocs/import_php/PHPExcel/PHPExcel/Reader/Excel2007.php:348 Stack trace: #0 /Applications/XAMPP/xamppfiles/htdocs/import_php/form.php(101): PHPExcel_Reader_Excel2007->load(‘tmp/data.xlsx’) #1 {main} thrown in /Applications/XAMPP/xamppfiles/htdocs/import_php/PHPExcel/PHPExcel/Reader/Excel2007.php on line 348

    • itu errornya failed to open stream: Permission denied
      ini pakai Linux os nya?
      kalau pakai linux, di chmod dulu folder tmp nya :

      sudo chmod -R 777 path/to/folder/tmp

  58. Muhamad AL Hafizh

    om mau nanya itu udah a export data ya ?

  59. desfri hamdany

    keren gan… sangat membantu sekali buat yg pegang linux

  60. Hafizh Rizqi Naufal

    data tidak terimport itu bagaimana ya?

  61. Vickra Anugrah

    misi gan ada buat tutorial di youtube gak?

    • untuk youtube nyaa belum ada om, tapi apakah ada yang kurang dimengerti om dari penjelasan saya di tutorial ini? kalau ada jangan sungkan tanyakan saja om hehe

  62. fadhil zanki

    Keren nih website,
    admin nya aktif, tutorialnya banyak, responnya bagus.

    #SMOGA BERKAH ILMUNYA BOS#

    • Hehhe makasih om, selagi sempat pasti selalu saya balas 🙂

      amiin amiin om, terimakasih do’a nya : D

  63. roji ellandi

    cara ubah keformat excel 2013 gimana om?

    • Untuk librari PHPExcel setau saya hanya mendukung sampai excel 2007 (.xlsx). Tapi dari pengalaman saya tidak usah terlalu di permasalahkan, karena format excel 2007 pun masih bisa di buka di MS. Office 2016 sekalipun

      • roji ellandi

        oke skrang kalo misalnya si data importnya yang seharusnya di import itu kan masuk ke index gimana tuh? soalnya yang saya buat dia ga bisa buat di import ke index nya jadi ttp data kosong, karna dia ga masuk ke data base, jadi harus gimana tuh gan?

  64. Dimas Anugerah

    Kak kalo misal nisnya saya bikin AI brarti harusnya tidak usah di insertkan tapi pada saat di preview muncul alret ada yg tidak terisi namun button submit juga muncul tapa pada saat diimport tidak tersimpan di database. Mohon bimbingannya.

      • heandhie

        gan kalo di tabel database ada kolom id_siswa dengan auto increment gmn?
        saya buat tanpa membuat kolom (auto increment ) di database sukses tapi klo ada kolom (auto increment) gagal upload

  65. enna rahma

    kak saya mau tanya
    apakah bisa import excel ke 2 tabel database secara bersamaan?
    terimakasih

  66. Rully Burhanz

    gan mau nanya, saya sudah coba script agan, dan berhasil, namun saya mau modif kodingan agan supaya bisa langsung upload saja tanpa harus ada fungsi pengecekan tabel kosong dan previewnya, itu caranya gimana ya gan? saya sudah coba otak-atik codingannya, tapi gagal terus. mohon bantuannya

      • Rully Burhanz

        Belom berhasil gan, saya udah ikutin instruksi yang agan kasih..
        tidak terupload datanya ke mysql

  67. paskal djoa

    Gan cara diatas klw misal nis si A sudah ada di database, kemudian data yg mau di import baru dari Excel ternyata nis yg sama ada lgi gimna tuh, double gk ya datanya? Klw dibuat validasinya gimna ya gan?

    • bisa saja dengan menambahkan query baru untuk mengecek apakah NIS yang akan di insert sudah ada atau belum di tabel siswanya. caranya om lihat pada file import.php, pada baris ke 34 disitu ada skrip : if($numrow > 1){
      Sisipkan skrip ini setelah skrip tersebut :
      .
      $sql2 = $pdo->prepare(“SELECT nis FROM siswa WHERE nis=:nis”);
      $sql2->bindParam(‘:nis’, $nis);
      $sql2->execute();

      if($sql2->rowCount() > 0){
      continue;
      }
      .
      skrip diatas berguna untuk ngecek ke database tabel siswa apakah NIS yang akan di insert ada atau tidak, kalau ada, maka proses insert tidak akan di lakukan untuk data nis tersebut

  68. heandhie

    misi gan mau tanya
    1. di format excel ada kolom nama_kelas sedangkan di database id_kelas
    gmn caranya saat diupload ngubah nama_kelas menjadi id_kelas ya gan ?
    2. misal klo upload di database sudah ada nis, data yang nis nya sama g ikut ke upload gmn gan ?

    terimakasih

    • untuk pertanyaan nomor 1, berarti saat looping $sheet nya harus ada query untuk select data kelas berdasarkan nama kelas tadi. misal : SELECT id_kelas FROM kelas WHERE nama_kelas=’$nama_kelas’. $nama_kelas tersebut di ambil dari kolom di excel
      .
      untuk pertanyaan nomor 2, sama juga. harus dibuat query lagi untuk mengecek ke database apakah nis tersebut sudah terdaftar apa belum. Misal : SELECT COUNT(nis) FROM siswa WHERE nis=’$nis’. $nis tersebut di ambil dari kolom di excel. Nanti tambahkan if…else…., Jika hasil query lebih dari 0, berarti data siswa dengan nis tersebut sudah ada, kalo sudah ada ga usah di insert, lalu jika tidak ada ya insert

  69. dhano kamel

    gan mau nanya. saya coba tdi tutorialnya mncul pesan gini “Fatal error: Class ‘PHPExcel_Shared_String’ not found in C:\xampp\htdocs\import_php\PHPExcel\Autoloader.php on line 36”. itu knapa ya gan? mhon dibantu

  70. Dewi Pardah

    ka mau bertanya, data sudah tampil setelah preview. tapi saat import data tidak berhasil, tidak tampil dan tersimpan di databases
    saya disini mencoba mengimplementasikan ke db saya. biasanya kesalahannya karena apa yaa kang

  71. Tamtama Adi

    library nya ga bisa di download gan

  72. belladina

    gan,kan aku cuma ambil file yang import.php dari sini. dan library nya uda dimport tapi eror gini:
    Fatal error: Uncaught exception ‘PHPExcel_Reader_Exception’ with message ‘Could not open tmp/data.xlsx for reading! File does not exist.’ in C:\xampp\htdocs\atk\PHPExcel\PHPExcel\Reader\Excel2007.php:348 Stack trace: #0 C:\xampp\htdocs\atk\upload_referensi.php(25): PHPExcel_Reader_Excel2007->load(‘tmp/data.xlsx’) #1 C:\xampp\htdocs\atk\dtraining.php(16): include(‘C:\\xampp\\htdocs…’) #2 C:\xampp\htdocs\atk\admin.php(47): include(‘C:\\xampp\\htdocs…’) #3 {main} thrown in C:\xampp\htdocs\atk\PHPExcel\PHPExcel\Reader\Excel2007.php on line 348

    • Rizaldi Maulidia Achmad

      Itu proses upload nya gagal om. Soalnya error file does not exists

  73. yoga akbar

    bang nggak ada fitur hapusnya ya ?

  74. iman_herlambang

    Assalamualaikum gan, kalo di header tabel dibuat fitur sorting gimana gan??
    mohon bantuannya, terima kasih

    • Rizaldi Maulidia Achmad

      wa’allaikumsalam. Untuk fitur sorting belum ada tutorial nya om. tapi sebenarnya ada cara gampang, yakni menggunakan Jquery DataTable. tutorial nya sendiri sudah masuk dalam plan saya buat tutorya. tapi untuk waktu kapan di publish nya, saya belum bisa nentukan hehe.

  75. Adimas_fanani

    min, mau tanya
    pas saya klik import kok error ya?

    Fatal error: Uncaught PDOException: could not find driver in C:\xampp\htdocs\surat Project\connect.php:8 Stack trace: #0 C:\xampp\htdocs\surat Project\connect.php(8): PDO->__construct(‘mysql:host=loca…’, ‘root’, ”) #1 C:\xampp\htdocs\surat Project\import_instansi.php(3): include(‘C:\\xampp\\htdocs…’) #2 {main} thrown in C:\xampp\htdocs\surat Project\connect.php on line 8
    seperti itu errornya, bisa bantu min?

    • Rizaldi Maulidia Achmad

      boleh kirim source code nya biar saya bisa cek? kirim via fans page fb kami saja

      • Adimas_fanani

        udh gk error bang, tpi kok pas prosesnya gk nambah data dri excel ke databasenya?
        apa di form tampil datanya juga harus pake pdo?

        • Rizaldi Maulidia Achmad

          ga harus pdo juga sih. tapi seharusnya. kalau buat aplikasi ya bikin 1 saja. mau pakai pdo atau mysqli. usahakan jangandi campur2

  76. Muadzin nur

    Mas saya mau tambahin id user ketika import, saya sudah buatkan form untuk login. ,jd ketika seorang user mengimport data terecord id usernya di tabel siswa.
    Dimana ya saya tambahkan variabel dan memanggil id user?

    • Rizaldi Maulidia Achmad

      saya tanya dulu, itu buat login nya pakai season ga? kalau pakai season kan gampang nanti tinggal panggil pakai $_SEASON[‘nama_parameter’]

  77. surokerto

    maaf mas,
    waktu di preview error
    Fatal error: Class ‘ZipArchive’ not found in C:\Program Files\xampp\htdocs\fopacitan\PHPExcel\PHPExcel\Reader\Excel2007.php on line 361
    mohon solusinya

    • Rizaldi Maulidia Achmad

      Tambahkan skrip ini :
      PHPExcel_Settings::setZipClass(PHPExcel_Settings::PCLZIP);

      pada file form.php dan import.php setelah skrip berikut :
      $excelreader = new PHPExcel_Reader_Excel2007();

  78. Irna Rafidah

    Saya mencoba import data excel yang berisi kurang lebih 200 baris data tetapi data tidak bisa diimport. saat ‘preview’ data terlihat sesuai tetapi saat tekan ‘import’ halaman akan kembali ke index.php tetapi data tidak bertambah.
    juga tidak ada pesan error.
    bagaimana ya?
    terima kasih

    • Rizaldi Maulidia Achmad

      coba kirim mba file yang untuk proses import nya. biar saya bisa cek. kirim via fans page fb saja

  79. ArifRisqiRamadhan

    kenapa kalo kita import data yang banyak misalnya di atas 100 data… tidak bisa om?

    • Rizaldi Maulidia Achmad

      tidak bisa gimana om? apa ada error yang muncul?

      • Irna Rafidah

        Kenapa tidak bisa import data diatas 100 data ya? saat di preview sesuai dengan yang di excel kemudian di tekan tombol ‘Import’ kembali ke halaman index tapi data tidak bertambah. juga tidak ada pesan error..
        Terima Kasih..

  80. Rezha Rizki

    tidak bisa preview padahaldata sudah sesuai.. mohon pencerahannya. disitu keterangannya Hanya File Excel 2007 (.xlsx) yang diperbolehkan. padahal file sudah sesuai.tks

    • Rizaldi Maulidia Achmad

      sudah saya balas pesannya di FB kami om

  81. AbdulRahman

    bagaiman Cara Atur Teksnya berada di tengah kertas saat di print

    • Rizaldi Maulidia Achmad

      maksudnya agar ditengah seperti apa om?

  82. habibah_n

    saya mau bertanya, kalo nambah menu/fitur hapus gimana caranya ya? mohon bantuannya []

  83. panjiperdiansyah

    siang mas Rizal, saya sudah coba untuk preview data sudah berhasil. tetapi pada saat di import ke database tidak bisa. tidak ada keterangan error apapun.

    • Rizaldi Maulidia Achmad

      Siang juga om. Coba kirimkan file import.php nya via fans page fb. Mau saya cek

  84. rifqi irawan

    saya coba ko data yg di tabel ga nampil ya di excelnya, apa karna ms.office saya 2010 ? sedangkan contoh di atas excel2007. mohon bantuannya

    • Rizaldi Maulidia Achmad

      Tidak tampil gimana om? Apa ada error?

  85. Arjun Utomo

    Saya coba menggunakan source code tersebut ke CI, muncul error sbb :
    move_uploaded_file(http://localhost/TA_Keuangan/assets/tmp/data.xlsx): failed to open stream: HTTP wrapper does not support writeable connections
    move_uploaded_file(): Unable to move ‘C:\xampp\tmp\php32A9.tmp’ to ‘http://localhost/TA_Keuangan/assets/tmp/data.xlsx’
    Fatal error: require_once(): Failed opening required ‘http://localhost/TA_Keuangan/assets/PHPExcel/PHPExcel.php’ (include_path=’C:\xampp\php\PEAR’) in C:\xampp\htdocs\TA_Keuangan\application\views\form.php on line 109

    Sarannya dong min, kira-kira kenapa? Terimakasih 🙂

    • Rizaldi Maulidia Achmad

      Coba lihat tutorial versi ci nya om. Saya sudah buatkan di blog ini

  86. Edy Erawan

    postingannya sangat membntu mas.

    tapi maaf sebelumnya mas rizal saya mengalami kendala pada scrip yang sudah saya dwonload dan saya tambahkan beberapa fiel untuk percobaan saya, masalahnya data yang saya import tidak mau ke post ke database yang saya buat, nama databasenya sama cuma nama tabelnya saya rubah sesuai dgn kebutuhan saya mas, dari siswa menjadi penduduk. dari sisi coding post insert dan query sama semua tidak ada perubahan.
    mohon solusinya mas rizal Terima Kasih
    salam

    • Rizaldi Maulidia Achmad

      Sudah saya balas yah di WA hehe

  87. wirhanmk@gmail.com

    thank you om sukses sealalu

    • Rizaldi Maulidia Achmad

      Sama-sama om 😀
      Amiinn amiin 🙏, terimakasih doa nya

  88. hanafiakbar

    installannya tidak bisa di unduh ya Pak?

    • Rizaldi Maulidia Achmad

      tadi saya coba bisa di download om. tidak ada masalah

  89. Great rEWARD

    Kereeeen,,….
    makasih telah berbagi. Semoga dan insyaA bermanfaat

    • Rizaldi Maulidia Achmad

      Sama-sama om 🙂
      Amiiin om, terimakasih do’a nya

  90. wahyu Kepri

    Terimakasih ilmunya mas, sangat bermanfaat buat saya.

    • Rizaldi Maulidia Achmad

      Sama-sama om, senang bisa membantu 😀

  91. miftahul alfin

    maaaf mas rizal, mau tanya, saya msih error di koneksi dengan pdo mas, krena sblumnya saya pakai koneksi mysql biasa, cara termudah gmna mas? apa koneksi pdo nya di gnti atau gmna? terimakasih mas rizal

    • Rizaldi Maulidia Achmad

      web yang sudah dibuat sudah banyak fiturnya? kalau sudah banyak fitur-fitur lain yang pakai mysql biasa. mending di ubah saja jadi mysql om. error nya seperti apa? coba kirim screenshot errornya via fans page fb kami om

  92. zefaYullah

    Gan mau tanya kalau pingin import data ke database tapi data sebelumnya ditimpa (di replace) edit scriptnya bagaimana ya,

    • Rizaldi Maulidia Achmad

      pakai perintah/command “TRUNCATE namatabel”. ubah pada file import.php, tambahkan skrip berikut :
      $sql_empty = $pdo->prepare(“TRUNCATE siswa”);
      $sql_empty->execute();
      .
      .
      tambahkan kode diatas sebelum kode ini :
      $sql = $pdo->prepare(“INSERT INTO siswa VALUES(:nis,:nama,:jk,:telp,:alamat)”);
      .
      .
      maaf baru balas om

      • zefaYullah

        tak coba om 🙂 thanks responya

      • ZefaYullah

        tidak bisa ternyata gan malah blang 🙁

        • Rizaldi Maulidia Achmad

          coba kirim source code yang sudah di edit nya ke saya om. kirim lewat fans page fb kami saja. nanti saya bantu

          • zefaYullah

            Sudah om mohon dicek

  93. nyuraaaa

    weqs Keren Banget Gan Makasih ilmunya Sangat bermanfaat

    • Rizaldi Maulidia Achmad

      Siaapp sama2 om 😀

  94. Rusdin Kalem

    Mas Rizal…mau nanya, bagaimana solusinya apabila yang diimport adalah tabel data yang ada/banyak mengandung value ‘0’/nol… khan terbaca data belum belum diisi…

    • Rizaldi Maulidia Achmad

      Kalau soal itu tergantung bagaimana kita memvalidasinya. Kalau dari tutorial yang saya buat, seharunys kalau diisi angka nol “0”, harusnya bisa ke insert. Karena validasi yang saya buat adalah jika di kolom nya tidak disi sama sekali (empty)

  95. dediiskan

    terima kasih gan.. sangat membantu
    gimana ya kalau setelah import ada muncul pesan berhasil di import dan berapa jumlah baris yang di import..
    terimakasih

    • Rizaldi Maulidia Achmad

      Sama-sama om 😀
      bisa dengan cara pada file import.php, pada baris ke 4 setelah skrip include “koneksi.php”;, tambahkan skrip berikut :
      $jmldata = 0;
      .
      lalu pada baris ke 41 setelah skrip $sql->execute(); // Eksekusi query insert, tambahkan skrip berikut :
      $jmldata++;
      .
      lalu ganti skrip ini :
      header(‘location: index.php’); // Redirect ke halaman awal
      menjadi seperti ini :
      echo "<script>alert('".$jmldata." data berhasil diimport');</script>";

      • dediiskan

        terima kasih gan.. berjalan lancar, jadi mucul pertanyaan lagi hehe kalau selesai klik ok pada alert ingin direct ke index.php lagi gmn gan? 🙂

        • Rizaldi Maulidia Achmad

          ehh iyaaah om sorry2. lupa saya. perasaan tadi sudah di masukin skrip redirect nya haha. yg skrip ini :
          echo "<script>alert('".$jmldata." data berhasil diimport');</script>";
          .
          ubah jadi gini :
          echo "<script>alert('".$jmldata." data berhasil diimport');window.location = 'index.php';</script>";

      • dediiskan

        sudah bisa gan yang direct ke index.php
        kalau yang ini $jmldata++; kan untuk jumlah baris yang ada di import ya gan ?
        nah
        kalau ingin yang dimunculkan itu jumlah data yang berhasil masuk ke db gmn gan ?
        terima kasih

        • Rizaldi Maulidia Achmad

          Engga om. Skrip yang saya kasih itu, ngitung jumlah data yang masuk ke database hehe. Jadi sudah benar

          • dediiskan

            siip…sangat terbantu…
            terima kasih gan… sukses selalu

          • Rizaldi Maulidia Achmad

            siap om. sama-sama 🙂
            Amiiin amiiin, terimakasih

  96. Ardi Ansyah

    soved gannnn thx

    • Rizaldi Maulidia Achmad

      oke sama-sama om 😀

  97. Ardi Ansyah

    ternyata gagal di sini
    $sheet = $loadexcel->getActiveSheet()->toArray(null, true, true ,true);

    terutama bagian
    toArray(null, true, true ,true);

    • Rizaldi Maulidia Achmad

      sudah solved belum om? errornya apa?

      • Ardi Ansyah

        masih belum solved,
        tidak bisa mengkonversi ke array
        $sheet1 = $loadexcel->getActiveSheet(); // sampai sini oke
        $sheet = $sheet1->toArray(null, true, true ,true); // disini stuck

  98. Agus supriyanto

    Pak rizal, bagai mana hasilnya pak, kok bisa tdk mau muncul di penyimpanan pada saat di prevew padahal saya sidah sama kan codingan dan tata cara pembuatan data basenya.., masih pusing blm ketemu pak saya..,

    • Rizaldi Maulidia Achmad

      Apa ada error yang muncul om?

      • HUDA ULINUHA

        saya juga mengalami hal yang sama pak, bisa minta masukannya karena di sini tidak ada yang muncul eror namun di preview tidak muncul untuk data colom, saya mencoba menambahkan beberapa colom namun tidak semua colom muncul datanya

        jika boleh minta cp nya biar lebih cepet respon untuk konsultasi

        • Rizaldi Maulidia Achmad

          Silahkan kontak saya lewat fans page fb om. Agar lebih enak komunikasinya

        • ardiansyah

          gan mau tanya, saya coba di localhost berjalan dengan baik. tapi ketika di hosting stuck di koding ini
          // Load librari PHPExcel nya
          require_once ‘config/phpexcel/PHPExcel/PHPExcel.php’;
          $excelreader = new PHPExcel_Reader_Excel2007();
          $loadexcel = $excelreader->load(‘upload/’.$tgl_pend_file_baru); // Load file yang tadi diupload ke folder tmp
          $sheet = $loadexcel->getActiveSheet()->toArray(null, true, true ,true);
          di cek manual data sudah pindah ke folder upload. barangkali ada pencerahan. (tidak ada pesan error)

          • Rizaldi Maulidia Achmad

            Biasanya kalo di hosting pesan error di hidden oleh pihak hosting. Coba tambahkan skrip berikut dan letakan di paling atas skrip setelah tanda

  99. Agus supriyanto

    pak Rizaldi, mohon bantuannya donk pak ini kenapa ya koo pada saat di preview data excel yang sudah di buat tadi tidak mau muncul. padahal saya sudah sesuai dan tidak ada yang saya rubah. cuma untuk excel saya menggunakan excel 2010 padahal formatnya sama (xlsx) apa nagruh ya gara” menggunakan excel 2010 soalnya di codinganya ada tulisan hanya file excel 2007 yang di perbolehkan. mohon bantuannya pak.

    Thank’s

    • Rizaldi Maulidia Achmad

      Seharusnya ga ngaruh om walau dibuka pake ms. 2010 juga. Asalkan pas disave nya ms. 2007 (.xlsx). Apa ada error yang muncul? Coba kirimkan source code sama excel yang diimporr nya. Biar bisa saya cek. Kirim lewat fans page fb saja om. Tapi paling besok saya bisa cek nya hehe

      • Agus supriyanto

        pak Rizaldi documnet sudah saya kirimkan lewat email ya pak emailnya benarkan yang ini admin@mynotescode.com, sudah saya kirimkan menggunakan We Transfer. mohon bantuannya ya pak untuk mengecek datanya kenapa tidak bisa tersimpan ke data basenya. Terimakasih Pak.

  100. terusbelajar

    pak RIzaldi, mohon bantuannya, kalau ingin merubah scriptnya, agar yg diupload adalah file xls bagaimana caranya? bagaimana caranya agar meskipun ada cell yg kosong, data tetap bisa diupload?

    • Rizaldi Maulidia Achmad

      untuk upload memang hanya file excel saja yang diperbolehkan.
      agar walau kosong tetap bisa di import, pada file form.php. hapus skrip pada baris ke 136-137 dan skrip pada baris ke 150-153. lalu pada file import.php, hapus skrip pada baris ke 28-29.

  101. Irsyadul

    Gan, kok tombol import nya gak bisa tampil ke halaman index.php ya? Saya melakukan sedikit perubahan sih hehehe, bisa bantuin gak gan?

    • Rizaldi Maulidia Achmad

      Paling besok yah om saya bantu nya. Nanti besok chat lewat fans page fb yah hehe. Mohon maaf sebelumnya

  102. tri mulya dharma

    masi bingung min.. hihihihi

  103. tri mulya dharma

    min buatin dong aplikasi bisa crud, export dan juga import

    • Rizaldi Maulidia Achmad

      kan sudah ada tutorial nya semua di blog saya. tinggal di terapkan saja

  104. Irsyadul

    Kalo mau mengizinkan supaya field nya ada yang kosong, yang dihapus yang baris mana gan?

    • Irsyadul

      Balas komen ini dong gan, penting banget nih

      • Rizaldi Maulidia Achmad

        maaf om saya baru bisa balas sekarang. agar ada beberapa field yang boleh kosong, om tinggal edit pada bagian ini :

        if(empty($nis) && empty($nama) && empty($jenis_kelamin) && empty($telp) && empty($alamat))

        disitu saya menuliskan nis, nama, jenis_kelamin, telp, dan alamat. yang ada di dalam if tersebut, berarti harus diisi. jika om ingin membolehkan kosong salah satu dari 5 field tadi. tinggal hapus saja dari if tersebut. contoh saya ingin field jenis_kelamin itu boleh dikosongkan. sehingga kode nya jadi seperti ini :

        if(empty($nis) && empty($nama) && empty($telp) && empty($alamat))

        kurang lebih seperti itu

        • Irsyadul

          Maksud codingan ini apa ya gan?

          if(empty($nis) && empty($nama) && empty($jenis_kelamin) && empty($telp) && empty($alamat))
          continue; // Lewat data pada baris ini (masuk ke looping selanjutnya / baris selanjutnya)

          // Cek $numrow apakah lebih dari 1
          // Artinya karena baris pertama adalah nama-nama kolom
          // Jadi dilewat saja, tidak usah diimport
          if($numrow > 1){
          // Validasi apakah semua data telah diisi
          $nis_td = ( ! empty($nis))? “” : ” style=’background: #E07171;'”; // Jika NIS kosong, beri warna merah
          $nama_td = ( ! empty($nama))? “” : ” style=’background: #E07171;'”; // Jika Nama kosong, beri warna merah
          $jk_td = ( ! empty($jenis_kelamin))? “” : ” style=’background: #E07171;'”; // Jika Jenis Kelamin kosong, beri warna merah
          $telp_td = ( ! empty($telp))? “” : ” style=’background: #E07171;'”; // Jika Telepon kosong, beri warna merah
          $alamat_td = ( ! empty($alamat))? “” : ” style=’background: #E07171;'”; // Jika Alamat kosong, beri warna merah

          // Jika salah satu data ada yang kosong
          if(empty($nis) or empty($nama) or empty($jenis_kelamin) or empty($telp) or empty($alamat)){
          $kosong++; // Tambah 1 variabel $kosong
          }

  105. tri mulya dharma

    saya upload yang pertama berhasil, terus upload yang kedua berhasil juga tetapi uplouadnya tertindih (hasil yang uplouad pertama sama kedua gabung) mohon bantuannya min

    • Rizaldi Maulidia Achmad

      yang tertimpa ini apa nya om? data di database nya ? atau file excel nya?

      • tri mulya dharma

        file excelnyamin. terus jika excel di edit, kenapa di database phpnya tidak berubah. misal kita edit nama di excel, terus kita import kembali, terus datanya tidak berubah, datanya masih mengikuti file di database.

        • Rizaldi Maulidia Achmad

          lah memang begitu om. kan proses import ini adalah meng-import data dari excel ke database. jadi istilahnya memindahkan data dari excel ke database. nanti pas di aplikasinya yah menampilkan data dari database, bukan dari excel. Kalau datanya mau di edit lagi, om bikin saja fitur untuk hapus semua data dan melakukan import ulang. Lalu file excel yang di upload memang sengaja saya timpa, karena file tersebut hanya digunkan ketika proses import saja, ketika proses importnya selesai. file tersebut sudah tidak terpakai lagi

          • tri mulya dharma

            minta contohnya dong min

          • Rizaldi Maulidia Achmad

            Contoh yang mana om?
            Kalo contoh buat hapus atau edit data. Om cari aja di blog saya ini tentang membuat crud

    • Rizaldi Maulidia Achmad

      tinggal disesuaikan saja om query sql nya dan ganti dengan query update. jangan lupa untuk where clause nya juga

  106. muh. susanto

    kalau misalnya row data excelnya misal A B C D E, tapi yang ditampilin cuma A C dan E. bisa nggak mas?

    • Rizaldi Maulidia Achmad

      “ditampilkan”. maksudnya ditampilkan gimana? lalu ditampilkan dimana?

  107. novia.via

    kaa maaf mau tanya
    saya download coding kaka
    dan saya ubah sedikit mengenai penambahan datanya ka seperti misalnya nis saya ubah jadi nomor lalu ada penamahan menjadi 8 kolom
    hanya saat sudah mengupload
    alert semua data belum diisi selalu muncul..padahal datanya sudah diisi semua di excel
    kemudian loopingnya tidak mau berhenti..pas di klik tombol import langsung halamannya menjadi the connection was reset
    boleh bantuan untuk pencerahannya ? karna sudah coba coba untuk otak atik tapi masih seperti itu
    terimakasih

    • Rizaldi Maulidia Achmad

      Coba kirim kan source code plus database nya lewat fans page fb kami mba. Nanti malam saya cek

      • novia.via

        terimakasih ka..ka saya sudah kirim via pesan di fans pagenya ka..

  108. Anak Ayam

    Mas, saya mau nanya
    punya saya kan udah kelar ni, trus pas d upload udah masuk database dan udah muncul dhalaman web nya, tapi ukuran lebar kolom nya jadi panjang mas, jadi scroll ke samping lebih banyak. cara ngatasinya gimana ya ? sudah saya tes atur ukuran kolom menggunakan “width” tetep gabisa. mohon bantuan nya gan. Thx

    • Rizaldi Maulidia Achmad

      coba kirim kan screenshot nya om lewat fans page fb kami. nanti saya bantu

  109. ihsananshory

    #newbie
    mas kalo dalam file excelnya sheet lebih dari satu inport.nya gmn ya?

    • Rizaldi Maulidia Achmad

      ada di dokumentasi excel nya om. nanti saya upload biar bisa om baca. sekarang saya belum bisa upload, lagi ada gangguan dengan akses ke server kami nya. nanti saya kabari kalau sudah di upload om.
      Mohon maaf baru bisa balas sekarang

  110. Budi Sanjaya

    Assalamualikum mas,

    Mas aku sudah coba dan data sudah berhasil masuk ke folder tmp namun data tersebut tidak dapat tampil di web, setelah klik tombol preview. kesalahannya dimana ya mas? aku binggung udah berbagai cara aku coba tetap seperti itu.

    Mohon bantuannya mas,
    Terimakasih

    • Rizaldi Maulidia Achmad

      Wa’allaikumsalam.
      Apa ada error yang muncul om?

      • Budi Sanjaya

        Tidak ada pesan error mas, hanya “Tidak ada file yang dipilih” gitu terus padahal aku sudah memilih file excelnya.

        • Rizaldi Maulidia Achmad

          saya lihat dari tutorial yang saya buat. tidak ada validasi begitu om. itu sama om diedit edit lagi atau gimana? soalnya ga ada koding untuk validasi yang mengeluarkan alert “Tidak ada file yang dipilih”

          • Budi Sanjaya

            Betul mas memang tidak ada, di bagian ini saja hanya saya rubah biar sesuai dengan web saya, dibagian form

            Download Format

            Upload Excel File

            Preview

            Kemudian dibawahnya baru saya isikan kode seperti punya mas diatas, namun tetap error mas.

          • Budi Sanjaya

            Maaf mas seperti ini mas kodenya
            <!–
            Download Format

            Upload Excel File

            Preview

            –>

          • Rizaldi Maulidia Achmad

            coba upload saja om source code nya lewat fans page fb kami. nanti saya cek

          • Budi Sanjaya

            mas jika ada file JQUERY pakai yang versi ini aja bisa jquery-1[dot]9[dot]1[dot]min ?
            kemaren aku tambahin yang ini jquery[dot]min

          • Rizaldi Maulidia Achmad

            Ganti saja om. Tidak apa-apa

  111. riaani

    assalamualaikum mas,
    klo ngikutin tutorial diatas saya sudah berhasil mas. namun, saat saya modifikasi dan dimasukan ke program saya. bagian preview sudah sukses. tapi pas di klik bottom import muncul notice ‘Warning: require_once(PHPExcel/PHPExcel.php) [function.require-once]: failed to open stream: No such file or directory in C:\xampp\htdocs\rekrutmen\proses\add.php on line 13

    Fatal error: require_once() [function.require]: Failed opening required ‘PHPExcel/PHPExcel.php’ (include_path=’.;C:\xampp\php\PEAR’) in C:\xampp\htdocs\rekrutmen\proses\add.php on line 13′

    mohon bantuannya mas… terimakasih

    • Rizaldi Maulidia Achmad

      Itu gara gara librari phpexcel nya om. Sudah di copy belum library nya? Lalu cek juga path tempat nyimpen library nya. Harus bener pas di require_once “path_librari_nya”;

  112. sn4pz901

    muncul error gan di file import

    Warning: move_uploaded_file(tmp/data.xlsx): failed to open stream: No such file or directory in C:\xampp\htdocs\import_php\form.php on line 95

    Warning: move_uploaded_file(): Unable to move ‘C:\xampp\tmp\php9320.tmp’ to ‘tmp/data.xlsx’ in C:\xampp\htdocs\import_php\form.php on line 95

    Fatal error: Uncaught exception ‘PHPExcel_Reader_Exception’ with message ‘Could not open tmp/data.xlsx for reading! File does not exist.’ in C:\xampp\htdocs\import_php\PHPExcel\PHPExcel\Reader\Excel2007.php:347 Stack trace: #0 C:\xampp\htdocs\import_php\form.php(101): PHPExcel_Reader_Excel2007->load(‘tmp/data.xlsx’) #1 {main} thrown in C:\xampp\htdocs\import_php\PHPExcel\PHPExcel\Reader\Excel2007.php on line 347

    • Rizaldi Maulidia Achmad

      Itu folder tmp nya belum di buat om. Coba ikutin langkah pada step 1 om. Jangan ada yang kelewat

  113. Rendra S

    bisa lewat email g gan, saya g punya fb, mohon bantuannya
    bisa lampir kan email agan g?
    mkasih

      • Rendra S

        dear agan

        sudah saya kirimkan ke email agan link gdrive-nya ya
        terima kasih

        • Rizaldi Maulidia Achmad

          ga bisa saya buka om. minta permission. sudah saya request permission buat akses nya. di accept dulu om

  114. spookid.spooky

    sorry gan, maksudnya di database ada kolom … bukan ada tabel

    • Rendra S

      gimana gan? udah bisa diakses kah?
      perkembangannya gimna?
      Terimakasih
      Mohon bantuannya
      maaf slow respon gan

      • Rizaldi Maulidia Achmad

        itu errornya ketika apa om?

        • Rendra S

          errornya ketika pas mau preview data setelah disubmit gan,
          terima kasih

  115. sonny aji arbinta

    Assalamualaikum Wr Wb
    selamat pagi mas, saya mau bertanya jika cara upload excel tapi hanya berdasarkan cells tertentu bagaimana ya?
    misalnya row A cell 24 saja..dan apabila row tersebut merge bagaimana ya … contohnya row A dan B

    • Rizaldi Maulidia Achmad

      Cukup sulit om. Kecuali data yg di import hanya 1 data saja. Kalo banyak? Susah. Makanya kita sebagai developer harus buat formar sendiri untuj import data nya

      • spookid.spooky

        Gan, boleh kirimin yang buat format tanggal juga ga gan??
        Yang ‘tahun-bulan-hari’ jadi hari-bulan-tahun buat masuk ke databasenya

        Sama mau tanya juga gan,
        di file excel ada kolom:
        nomor urut, NIS, nama, jenis kelamin, telepon, alamat

        di database ada tabel:
        id, nomor urut, NIS, nama, jenis kelamin, telepon, alamat

        biar bisa masuk data di excel ke databasenya gimana ya gan?

        • Rizaldi Maulidia Achmad

          Kalo untuk format tanggal. Gini contohnya om :
          $tglasal = “2017-07-31”;
          $ubahformat = date(“d-m-Y”, strtotime($tglasal));

          Kalo untuk insert ke tabel, tapi tidak semua kolom mau di insert. Deklarasikan saja kolom-kolom yang mau di insertnya pada query sql nya. Contoh :
          $query = “INSERT INTO namatabel(nourut,nis,nama,jeniskelamin,telp,alamat) VALUES(‘$nourut’,’$nis’,’$nama’,’$jeniskelamin’,’$telp’,’$alamat’)”;

  116. eko tatag

    mau tanya ketika import kok eror muncul tulisan kya gini gimana solusinya ya

    Notice: Undefined variable: pdo in C:\xampp\htdocs\import_php\import.php on line 28

    Fatal error: Uncaught Error: Call to a member function prepare() on null in C:\xampp\htdocs\import_php\import.php:28 Stack trace: #0 {main} thrown in C:\xampp\htdocs\import_php\import.php on line 28

    • Rizaldi Maulidia Achmad

      Itu error koneksi databasenya. Cek file koneksi nya

  117. Rizal Saputra

    gan, tolong di bantu tentang masalah import, saya copas koding agan, tapi saya ubah ke versi saya dalam bentuk mysql bukan pdo, di data alumni saya di database ada data gambar, tapi di excel saya ga ada data gambar, ketika saya mau import excel ke database, error, karena di data excel tidak ada colum gambar sedangkan di database ada, kecuali saya hapus data gambar yg ada di database, baru mau keimport, gimana ya gan caranya biar tetap masuk data excelnya, meskipun ga ada data gambar. masa saya harus hapung dan masukan data lagi di database kalau mau import data. deadline nih gan, tgl 29 mau dikasih.

    tolong di bantu ya gan, saya udah coba query tanpa memasukan query gambar di import, tetep ga mau…

    • Rizaldi Maulidia Achmad

      cek facebook om. sudah saya balas

    • Rizaldi Maulidia Achmad

      Sama-sama om. The power of deadline hahaha

  118. Rendra S

    Gan itu errornya knp ya, pada saat klik button preview
    mohon solusi-nya

    Fatal error: Class ‘ZipArchive’ not found in C:\wamp\www\import_php\PHPExcel\PHPExcel\Reader\Excel2007.php on line 361

      • Rendra S

        gan solusinya lagi dong,
        ini maksudnya knpa ya?

        Fatal error: Class name must be a valid object or a string in C:\wamp\www\import_php\PHPExcel\PHPExcel\Reader\Excel2007.php on line 361,
        masih lanjutan yang kemaren nih

        • Rizaldi Maulidia Achmad

          coba kirim source code buat import nya ke saya om. kirim lewat fans page fb. biar saya bisa cek

  119. raymasmp

    error karena data.xlsx nya ga kebaca gimana ya ? dari tmp nya ga bisa rename jadi data.xlsx

    • Rizaldi Maulidia Achmad

      tulisan errornya apa om?

  120. Rizal Saputra

    bro, tolong buatin yang versi mysql dong, jangan PDO, ga paham saya di form, delete, hapus, simpan, dan edit. dan menampilkan .

    • Rizal Saputra

      tolong ya bro. saya sangat perlu nih… soalnya saya terbiasa menggunakan mysql

      • Rizaldi Maulidia Achmad

        saya tidak bisa janji cepat om. soalnya lagi numpuk kerjaan. kalau mau nunggu. saya minta waktu sampai hari minggu sekarang.

  121. Mauludy N

    maaf mas mau tanya, ini hanya bisa untuk 1x proses import ya. saya coba untuk import yang kedua kali, datanya muncul di preview, tapi saat import, data tidak masuk, baik di database maupun tampilan. mohon penjelasannya, terima kasih sudah sharing

    • Mauludy N

      eh udah nemu solusinya mas, hehee

      • Rizaldi Maulidia Achmad

        Ohh iyaaa siap mba hehe

    • Rizal Saputra

      baik gan, saya tunggu, soalnya saya kasih programnya paling lambat tanggal 31, cuman masalah di import saja sih, oh ya gan, saya mau tanya, cara ngubah format saat menampilkan tanggal di database gimana ya? kan di database gini tahun,bulan,hari. sedangkan saya mau hari, bulan tahun. query yg saya coba
      $query=mysql_query(“SELECT Nim, Nama, Tempat, Tgl_lhr, Prodi, dll”);
      saya kasih DATE_FORMAT di query tgl_lhr malah error gan.

      • Rizaldi Maulidia Achmad

        oke nanti hari minggu.
        format aja tanggal nya lewat php. dengan menggunakan fungsi date(). contoh:
        date(“d-m-Y”, strtotime($tgldaridatabasenya))

      • Rizaldi Maulidia Achmad

        sudah saya kirim ke email om

  122. Hakim lukman

    kok selalu muncul alert ” Semua data belum diisi, Ada data yang belum diisi.” padahal data suda terisi semua.
    Nb : headerny saya ubah menjadi 3 kolom.
    mohon pencerahannya bung

    • Rizaldi Maulidia Achmad

      coba saya lihat skrip import nya om. copas ke pastebin.com atau upload melalui pesan ke fans page facebook kami di http://www.facebook.com/mynotescode

      Maaf baru bisa balas

      • Hakim lukman

        masalah yg kmaren sudah beres om,
        skarang saya mau nanya, pada saat import data dg isi yg sama kok datanya numpuk ya.
        mhon bantuan, salahnya dimana.? trimakasih

        • Rizaldi Maulidia Achmad

          maksudnya datanya duplikat gitu om? kalau mau tidak duplikat berarti harus menggunakan if…else.. dalam looping nya om. untuk mengecek apakah data tersebut sudah ada atau belum

  123. Agis Laksamana

    om kok g bisa download ya…
    ada peringatan security error
    bisa tolong kirim email ??

    • Rizaldi Maulidia Achmad

      Sedang ada masalah dengan halam downloadnya om. Sedang kami perbaiki. Harap tunggu yah om. Maksimal malam sekarang sudah bisa di akses lagi

    • Rizaldi Maulidia Achmad

      sudah saya perbaiki link downloadnya om

  124. Minanul Aziz

    Om..

    Kalau Import File Excel atau CSV berpasword bisa ga?
    Trus Script di Webnya sudah Include Password CSV.

    Kata Kunci apa kalau mau cari script begitu. Maaf baru belajar.

    • Rizaldi Maulidia Achmad

      Setau saya di PHPExcel tidak bisa om kalau untuk Import. Tapi kalau export file excel, dan file tersebut ingin di lock dengan password tertentu. di PHPExcel bisa dilakukan. Sudah ada fiturnya. Tapi kalau import dari file excel yang di protect, setatu saya tidak ada om.

      Maaf baru sempat balas komentarnya om 🙂

  125. Importnya hanya file xlsx aja ya gan, klow untuk xls sama xml or csv bisa engga filenya. apa harus ada yang dirubah lagi
    makasih

    [url=https://dijualmobil.com]Jual Mobil Bekas[/url]

    • Rizaldi Maulidia Achmad

      Hanya file xlsx aja om. Kalau untuk xls kan bisa di save as dulu di excel nya jadi xlsx. Kalau csv mungkin nanti akan saya bikin tutorialnya. Tapi kalau om buru-buru, baca saja dokumentasi dari phpexcel nya om. Disitu ada contoh dan cara buat import csv.

  126. Ardiansyah

    scnya gak bisa di download om.. bisa tolong kirimin ke email om ? lagi butuh soalnya

  127. Ahmad Fauzi

    gan bisa jelaskan maksud dari script ini?
    $sheet = $loadexcel->getActiveSheet()->toArray(null, true, true ,true);

    • Rizaldi Maulidia Achmad

      untuk mengkonversi data menjadi array. untuk lebih detailnya mengenai fungsi toArray, lihat dibawah ini :
      * Create array from worksheet
      *
      * @param mixed $nullValue Value returned in the array entry if a cell doesn’t exist
      * @param boolean $calculateFormulas Should formulas be calculated?
      * @param boolean $formatData Should formatting be applied to cell values?
      * @param boolean $returnCellRef False – Return a simple array of rows and columns indexed by number counting from zero
      * True – Return rows and columns indexed by their actual row and column IDs
      * @return array
      */
      public function toArray($nullValue = null, $calculateFormulas = true, $formatData = true, $returnCellRef = false)

    • Rizaldi Maulidia Achmad

      termakasih om 😀
      Saya coba tadi bisa om. Coba refresh lagi browser nya om

    • Rizaldi Maulidia Achmad

      sudah saya kirim ke email om. Maaf baru bisa balas, notif komentarnya baru ke baca tadi.

  128. Mochammad Arif R

    Disaat klik button preview kok datanya ga keluar ya mas jadi pas diimport gabisa juga. ada pencerahan? tx

    • Rizaldi Maulidia Achmad

      Apakah ada error yang muncul? Errornya apa om?

    • Mochammad Arif R

      tidak ada pesan error. saat udah pilih file terus mau di preview datanya tidak keluar mas dan import pun tidak bisa

      • Rizaldi Maulidia Achmad

        Coba periksa apakah proses upload file excelnya berhasil atau tidak, dengan cara cek file excel nya di folder tmp. Ada atau tidak om?

        • Mochammad Arif R

          Oh sudah ada mas. nah pas saya buka di folder tmp data excel nya kosong cuma ada nama field nya aja seperti nis, nama, jeniskelamin tapi data isinya tidak ada

          • Rizaldi Maulidia Achmad

            Sama om sudah diisi belum file excelnya? Jadi jangan hanya download format terus langsung upload. Tapi diisi dulu di excelnya. Baru diupload dan di preview om

          • Mochammad Arif R

            astaghfirullah iya mas yg daritadi saya upload file nya yg kosong bukan yg saya udah isi hehe maaf terimakasih mas atas tutorial nya! sukses.

          • Rizaldi Maulidia Achmad

            Hhahahah kayanya kurang minum aqua om ini haha
            Sama-sama om. Senang bisa membantu 😀

          • Mochammad Arif R

            hehe iyanih mas ohiya mau nanya lagi maximum data yang diupload 30detik ya? pas ane iseng ngisi data banyak muncul error ini
            Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\import_php\import.php on line 54

          • Rizaldi Maulidia Achmad

            Kalo soal itu. Secara default, Php membatasi maksimum eksekusi dalam 1 proses itu 30 detik. Tapi bisa di atur lagi oleh kita dengan cara tambahkan kode berikut di baris pertama :
            set_time_limit(90);

            Yang di dalam kurung tinggal disesuaikan saja dengan keinginan om mau berapa detik. Dalam contoh saya set jadi 90 detik

        • Novita Anggraini

          Kak mau tanya. Kan itu udh aku praktekkan trus berhasil, nah didalem tabelnya mau aku tambahin action buat edit sama delete, nah kan udah jadi tapi error terus kalu dijalanin edit sma dlete nya itu soalnya kan koneksinya pakai pdo itu tutorialnya, sedangkan aku gatau, itu caranya gimana ya kak supaya ga error, intinya sih gimana syntaxnya klo buat edit sama delete dan fungsinya diletakkan di field tabelnya itu.

          • Rizaldi Maulidia Achmad

            coba kirimkan mba source nya. sebenarnya konsepnya sama saja mba. hanya disini kan saya pakai PDO

  129. samadikunn

    Mantap, terimakasih sharenya

    • Rizaldi Maulidia Achmad

      sama-sama om. tunggua catatan-catatan saya selanjutnya 😀

    • Rizaldi Maulidia Achmad

      Sama-samao om. Senang bisa membantu 😀

  130. Andi

    Terima Kasih gan ilmunya sangat bermanfaat

    • Rizaldi Maulidia Achmad

      Sama-sama gan 🙂

  131. Panji Iman Baskoro

    wah makasih mas tadi lagi liat di grup PHP Indonesia nemu link web masnya, saya lagi butuh yang kayak gini tapi gak tau kata kuncinya apa, makasih mas ijin ngoprek-ngoprek 😀

    • Rizaldi Maulidia Achmad

      Sama-sama om. Senang bisa membantu. Selamat ngoding haha 😀

      • imam_ara

        Mas buka kelas buat belajar pemula gak mas?

NOTE ARCHIVES