Tutorial Laravel #39 : Import Excel Laravel


Import Excel Laravel – Setelah sebelumnya kita belajar tentang membuat export atau cetak laporan excel pada laravel, seperti ada yang kurang jika kita tidak membahas kebalikannya. yaitu membuat import excel dengan laravel.

Pada tutorial sebelumnya di Tutorial Laravel #38: export excel laravel, kita membuat export excel dengan menggunakan package laravel excel yang dibuat oleh maatwebsite.

Package Laravel Excel tersebut tidak hanya bisa digunakan untuk membuat atau export laporan excel saja, tapi juga bisa digunakan untuk membuat fitur import excel pada laravel.

Mari kita simak dan bahas lebih jauh tentang cara mengimport data excel dengan laravel menggunakan package laravel excel.

Import Excel Laravel

Pada Tutorial Laravel #39 : Import Excel Laravel ini kita akan belajar bagaimana cara mengimport data dari file excel ke database dengan menggunakan laravel.

Untuk teman-teman yang belum membaca tutorial sebelumnya tentang Tutorial Laravel #38: export excel laravel di malasngoding.com, Saya sarankan untuk WAJIB membacanya terlebih dulu.

Karena segala penjelasan dasarnya seperti proses install package dan konfigurasinya sudah dijelaskan pada tutorial sebelumnya tersebut.

Persiapan Database

Abaikan sub judul ini jika teman-teman sudah mengikuti tutorial sebelumnya tentang export excel laravel, dan silahkan lanjutkan ke bagian setelah sub judul ini.

Apa saja yang kita butuhkan untuk membuat contoh import excel dengan laravel ini? tentu kita membutuhkan sebuah database. database yang kita gunakan adalah database “malasngoding_laravel”. seperti yang sudah kita buat pada tutorial sebelumnya.

Bagi teman-teman yang belum membaca tutorial sebelumnya, Pastikan teman-teman sudah mempunyai database, dan sudah membuat koneksi database nya pada file .env.

.env

Kemudian sediakan sebuah table dengan nama “siswa”. dimana table tersebut berisi kolum id, nama, nis dan alamat.

Jika teman-teman sudah mengikuti tutorial sebelumnya, pasti teman-teman sudah punya table siswa beserta kolum-kolumnya. jadi silahkan abaikan step ini.

siswa.sql

import excel laravel

import excel laravel

Sampai di sini kita anggap teman-teman sudah mempunyai table siswa.

Pastikan juga teman-teman sudah punya model Siswa.php.

app/Siswa.php

Persiapan Package Laravel Excel

Jika teman-teman sudah membaca tutorial sebelumnya, tentang export excel laravel, silahkan lewati step ini.

Untuk cara install package laravel excel, silahkan baca pada tutorial :

Pada tutorial ini saya tidak lagi menjelaskan tentang cara menginstall laravel excel, silahkan teman-teman baca pada tutorial sebelumnya. di tutorial ini tidak lagi saya jelaskan cara install dan deklarasinya, agar materinya tidak berulang-ulang dan berbelit-belit pada saat teman-teman baca.

Di sini saya anggap teman-teman sudah menginstall package laravel excel sesuai dengan yang sudah dijelaskan pada tutorial sebelumnya.

Import Excel Laravel

Untuk membuat import excel laravel dengan package laravel excel ini, yang harus kita lakukan adalah membuat import nya terlebih dulu. sama pada saat seperti kita membuat export pada tutorial export excel sebelumnya.

buka terminal atau command line nya.

Di sini, import yang akan kita buat kita beri nama SiswaImport. dan model yang kita gunakan adalah model Siswa.php.

Pada saat kita jalankan perintah di atas, laravel akan membuatkan file SiswaImport.php dalam folder app/Imports.

Cara Import Excel Laravel

Cara Import Excel Laravel

Buka file SiswaImport.php tersebut.

app/Imports/SiswaImport.php

Di sini kita atur urutan data yang akan kita import dengan urutan kolum yang ada pada table siswa.

Perhatikan contoh format data excel yang nanti akan kita import berikut.

import excel ke database dengan laravel

import excel ke database dengan laravel

Jadi untuk kolum nama kita isi dengan row 1, kolum nis kita isi dengan row 2 dan kolum alamat kita isi dengan row 3.

Oke lanjut,

Nantinya untuk proses import data excelnya, kita akan membuat sebuah tombol “IMPORT EXCEL”, dimana pada saat tombol tersebut diklik, kita akan memunculkan modal pop up. pada modal tersebut kita buatkan form input file excel.

Kemudian pada saat disubmit, maka data siswa yang ada dalam file excel tersebut semua kita simpan ke database. lebih tepatnya ke table siswa.

Buka file view siswa.blade.php yang sudah kita buat sebelumnya. karena kita akan menambahkan sebuah tombol untuk upload/import file excel.

resources/views/siswa.blade.php

Pada view ini, kita membuat sebauh form dalam modal pop up. dimana pada saat form ini disubmit akan di proses ke route ‘/siswa/import_excel‘.

Oke sekarang buat route ‘/siswa/import_excel’.

Sehingga isi dari file routes/web.php adalah seperti berikut.

routes/web.php

route ‘/siswa/import_excel’ ini kita perintahkan untuk menjalankan method import_excel() dalam controller SiswaController.php.

Buka controller SiswaController.php. dan ketik seperti berikut.

app/Http/Controllers/SiswaController.php

Perhatikan, karena kita akan mengimport data excel, maka kita wajib memanggil class dan facades berikut.

kemudian kita juga memanggil use Session, karena nanti kita akan membuat notifikasi menggunakan session laravel juga.

dan terakhir pada method import_excel(), kita buat validasi agar form file wajib di isi dan hanya bisa di isi dengan file excel seperti .csv, .xls, .xlsx.

Kemudian kita upload file excel yang ingin diimport tersebut ke folder “file_siswa” dalam folder “public“.

BACA KEMBALI : Tutorial Laravel #30 : Membuat Upload File Dengan Laravel

Kemudian dengan fungsi import() file excel tersebut diimport ke database, sesuai dengan yang sudah kita atur pada file SiswaImport.php tadi.

Terakhir kita buat session Flash() untuk membuat notifikasi dengan session laravel.

dan mengalihkan halaman kembali ke route ‘/siswa’.

Hasil

Kita lihat hasilnya.

NB : Pastikan table siswa sudah kosong. agar kita lihat perbedaannya setelah import data excel nya berhasil.

Jalankan proyek laravel kita.

php artisan migrate

dan akses route siswa.

localhost:8000/siswa

Import Excel Dengan Laravel

Import Excel Dengan Laravel

Klik tombol “IMPORT EXCEL”, maka akan muncul form input/import file excel dalam modal pop up.

import laravel excel

import laravel excel

Pilih file excel yang ingin diimport. pastikan format data nya di awali dengan nomor, nama, nis, alamat. seperti format data yang sudah kita buat pada pengaturan SiswaImport.php tadi.

Kemudian klik Import.

import data excel ke database laravel

import data excel ke database laravel

Oke selesai. maka data dari file excel tadi pun berhasil diimport ke database (table siswa). dan muncul notifikasi “Data Siswa Berhasil Diimport”.

Oke sekian dulu Tutorial Laravel #39 : Import Excel Laravel. kita lanjutkan pada tutorial laravel selanjutnya.

Jangan Lupa, BACA JUGA :

Dokumentasi Import Laravel Excel Bisa Baca di sini.

 


Diki Alfarabi Hadi

Coding enthusiast. Someone who love learn something new. especially about web programming and web design. happy to share about knowledge and learn from other.

Tutorial Menarik Lainnya

action url laravel
laravel localization

Diskusi

6 Komentar
  • fiqi 5 years ago

    bang cara hindarin duplikat NIS gimana ya? waktu proses import.

  • MSAID ROMADHON 3 years ago

    permisi kak, bagaimana kalau di template excel nya ada header, bagaimana menentukan import rows nya ya kak ???

  • rachmat 3 years ago

    Kolom NIS di jadiin primary key aja.

  • hasan 3 years ago

    mau tanya, klo import excel ke database tp tablenya berelasi gmna?

  • Muhammad Irza Arrizkyputra 2 years ago

    keren mas, makasih banyak

  • Wahyu Triono 2 years ago

    Bagaimana kalau excel nya multidimensi?

Tulis Komentar / Pertanyaan

Download ebook belajar HTML & CSS dasar untuk pemula gratis

Download Ebook belajar HTML & CSS dasar untuk pemula gratis.

Ebook ini bisa di download oleh teman-teman yang baru mulai belajar HTML dan CSS dasar tapi tidak tahu mau memulai belajar dari mana. materi pembelajaran sudah di susun secara sistematis dan di dukung contoh gambar.

DOWNLOAD