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 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
<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.
Sekarang kita akan menjalankan contoh kita menggunakan Url di bawah ini di browser.
http://127.0.0.1:8000/import
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.