Matawebsite Promo Lebaran 2022

Laravel 7 Tutorial Import Excel

date 19 May 2021
date Lev Yasin
date 1717
date Web Programming
Laravel 7 Tutorial Import Excel

Dalam tutorial ini, kami akan memberi tahu Anda cara mengimpor excel di Laravel Framework.

Langkah 1: Instal Laravel

Kita akan menginstal laravel 7, jadi pertama buka command prompt atau terminal dan masuk ke direktori folder xampp htdocs menggunakan command prompt. setelah itu jalankan perintah di bawah ini.

composer create-project --prefer-dist laravel/laravel laravel7_import

Langkah 2: Mengatur Konfigurasi Database

Setelah instalasi laravel selesai. kita harus konfigurasi database. sekarang kita akan membuka file .env dan mengganti nama database, username, password di file .env. Lihat di bawah perubahan dalam file .env.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=Enter_Your_Database_Name(laravel7_import)
DB_USERNAME=Enter_Your_Database_Username(root)
DB_PASSWORD=Enter_Your_Database_Password(root)

Langkah 3: Instal Package

Sekarang, kita akan menginstal paket Maatwebsite menggunakan perintah di bawah ini.

composer require maatwebsite/excel

Langkah 4: Tambahkan provider dan alias

Kami akan menambahkan provider dan alias di bawah ini di file "config / app.php"

'providers' => [
  .......
  Maatwebsite\Excel\ExcelServiceProvider::class,
 
],  
 
'aliases' => [
  .......
  'Excel' => Maatwebsite\Excel\Facades\Excel::class,
 
],

Langkah 5: Buat Dummy Records dan migrasikan tabel

Sekarang kita akan memigrasi tabel terlebih dahulu. setelah itu menambahkan dummy record di tabel 'users' menggunakan perintah laravel tinker.

php artisan migrate
 
php artisan tinker
 
factory(App\User::class, 100)->create();

Langkah 6: Buat Route

Tambahkan kode rute berikut di file "routes / web.php".

<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('import', 'TestController@importData');
Route::post('import', 'TestController@import');
 
?>

Langkah 7: Buat Kelas Import

Sekarang, kita akan membuat kelas import menggunakan perintah di bawah ini.

php artisan make:import ImportUsers --model=User

ImportUsers.php

<?php
  
namespace App\Imports;
  
use App\User;
use Maatwebsite\Excel\Concerns\ToModel;
  
class ImportUsers implements ToModel
{
    /**
    * @param array $row
    *
    * @return \Illuminate\Database\Eloquent\Model|null
    */
    public function model(array $row)
    {
        return new User([
            'name'     => $row[0],
            'email'    => $row[1],
        ]);
    }
}
?>

Langkah 9: Buat Controller

Sekarang, Kami akan membuat DataTableController menggunakan perintah di bawah ini dan menempelkan kode di bawah ini di controller ini.

php artisan make:controller DataTableController

DataTableController.php

<?php
    
namespace App\Http\Controllers;
  
use Illuminate\Http\Request;
use App\Imports\ImportUsers;
use Maatwebsite\Excel\Facades\Excel;
  
class TestController extends Controller
{
    /**
    * @return \Illuminate\Support\Collection
    */
    public function importData()
    {
       return view('import');
    }
      
    /**
    * @return \Illuminate\Support\Collection
    */
    public function import()
    {
        Excel::import(new ImportUsers, request()->file('file'));
            
        return back();
    }
}
?>

Langkah 10: Buat Tampilan Blade

Terakhir, Kami akan membuat file import.blade.php di direktori folder "resources / views /" dan menempelkan kode di bawah ini.

import.blade.php

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Laravel 7 Import Excel</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<form action="{{ url('import') }}" method="POST" name="importform"
   enctype="multipart/form-data">
{{ csrf_token() }}
<div class="form-group">
<label for="file">File:</label>
<input id="file" type="file" name="file" class="form-control">
</div>
<button class="btn btn-success">Import File</button>
</form>
</div>
</body>
</html>

Langkah 11: Jalankan Aplikasi

Kita dapat memulai server dan menjalankan aplikasi ini menggunakan perintah di bawah ini.

php artisan serve

Sekarang kita akan menjalankan contoh kita menggunakan Url di bawah ini di browser.

http://127.0.0.1:8000/import
Matawebsite Promo
lev_yasin.png

Lev Yasin

Instruktur Web Programming Mataweb

Sangat tertarik dengan dunia Pemrograman Web & Mobile, saat ini fokus pada bagian Backend Web Developer, menggunakan PHP sebagai bahasa pemrograman utama, biasanya saya menggunakan Laravel.

Artikel Populer

Halo, ada yang bisa kami bantu?
Daftar Sekarang