Okay, setelah sebelumnya kita membuat sebuah Fitur dimana kita bisa
Export Pdf dari Laravel, kali ini kita akan membuat Fitur untuk Show Nah, Fitur ini tentunya akan memudahkan kita untuk menginput Data yang banyak kedalam Sistem kita, jadi kita tidak harus memasukkan data tersebut satu-persatu. Cukup satu kali Daftar Isi
Penjelasan Sistem Import Excel pada LaravelUntuk membuat sistem Import ini, ada beberapa hal yang akan kita lakukan.
Pertama, kita akan menginstal PraktekDisini kita akan mempraktekkan sedari instalasi, untuk detail dari instalasi sampai membuat Database bisa kalian lihat di Atikel-artikel sebelumnya. Instalasi Laravel via ComposerDisini kita bisa install Laravel 8 kita, untuk nama dari Projek yang kita install ini bebas sesuai keinginan Teman-teman. Setelah selesai composer create-project laravel/laravel:^8.0 import-excel jangan lupa setelah selesai instalasi jalankan Laravel nya ya dengan Install LiblarySetelah selesai melakukan instalasi Laravel, berikutnya kita akan menginstall Liblary untuk composer require maatwebsite/excel Setelah
selesai instalasi, buka file config/app.php lalu tambahkan 2 syntax dibawah ini didalam 'providers' => [ Maatwebsite\Excel\ExcelServiceProvider::class, ] 'aliases' => [ 'Excel' => Maatwebsite\Excel\Facades\Excel::class, ] Setelah itu, kalian bisa menjalankan syntax dibawah ini untuk membuat sebuah php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider" --tag=config Buat DatabaseBerikutnya, tentu kita akan membuat dan setting Pastikan kalian mengatur Setelah selesai membuat Setting Model, dan MigrationsBerikutnya, kita akan setting Pastikan teman-teman sudah install Exstensi Disini kita akan mulai setting Model terlebih dahulu, cukup tambahkan syntax class Employee extends Model { use HasFactory; protected $guarded = ['id']; } Setelah itu, kita setting migrations kita. Disini kita akan membuat public function up() { Schema::create('employees', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('works'); $table->timestamps(); }); } Nah, apabila sudah jangan lupa jalankan syntax untuk migrasi Setting ImportNah, sekarang kita akan terfokus kepada File yang akan kita gunakan untuk Import, File import ini kurang lebih seperti File yang akan kita akses agar Sistem Import Excel pada Laravel kita berjalan. Pertama, buat terlebih dahulu dengan syntax php artisan make:import EmployeeImport --model=Employee Setelah itu kalian akan mendapatkan sebuah File baru bernama return new Employee([ 'name' => $row[0], 'works' => $row[1] ]); Setting ViewSetelah selesai mensetting Import, berikutnya kita kan setting Tampilan atau View. Ditampilan ini akan berisi dua Hal, yang pertama adalah index.blade.php <!doctype html> <html lang="en"> <head> <!-- Required meta tags --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Bootstrap CSS --> <link href="https://cdn.jsdelivr.net/npm//dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous"> <title>Import Excel</title> </head> <body> <div class="container mt-5"> <h2 class="mt-5 display-4">Table</h2> <table class="table"> <thead> <tr> <th scope="col">Name</th> <th scope="col">Work As</th> </tr> </thead> <tbody> @foreach ($employees as $item) <tr> <td>{{ $item->name }}</td> <td>{{ $item->works }}</td> </tr> @endforeach </tbody> </table> <div class="row"> <div class="col-sm-3"> <form action="/" method="post" enctype="multipart/form-data"> @csrf <input type="file" name="excel" class="form-control" placeholder="Recipient's username" aria-label="Recipient's username" aria-describedby="button-addon2"> <button class="btn btn-primary mt-3" type="submit" id="button-addon2">Import</button> </form> </div> </div> </div> <script src="https://cdn.jsdelivr.net/npm//dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"> </script> </body> </html> Setting ControllerNah di Controller ini, kita akan membuat 2 Fungsi. Pertama fungsi untuk menampilkan Tampilan kita, yang kedua adalah fungsi untuk mengakses public function index() { return view('index', [ 'employees' => Employee::all() ]); } public function import(Request $request) { Excel::import(new EmployeeImport, $request->excel); return redirect('/'); } Setting Web.phpTerakhir yang harus kita setting adalah file routes/web.php, didalam File ini kita akan mengakses link untuk Menampilkan data menggunakan Route::get('/', [EmployeeController::class, 'index']); Route::post('/', [EmployeeController::class, 'import']); PenggunaanSekarang kita tinggal mempraktekkan Sistem import excel pada Laravel kita. Ada hal yang harus diperhatikan dalam import excel pada Laravel ini, yaitu isi dari File Excel yang kita Import. Didalam File Excel yang kita Import, akan berbentuk tabel, dengan detail Row sesuai dengan EmployeeImport kita. Kalau dilihat di EmployeeImport memiliki 2 Row, pertama untuk name, kedua untuk works, detialnya seperti ini Jadi Row A untuk name, dan Row B untuk works. Pastikan saat ingin Import tidak salah Row ya. Selanjutnya tinggal lakukan Import File ini |