1. Instalasi Paket:
Pertama, Anda perlu menginstal paket maatwebsite/excel
melalui Composer. Jalankan perintah berikut di terminal:
composer require maatwebsite/excel
2.Publikasikan Konfigurasi (Opsional):
Jika Anda ingin menyesuaikan konfigurasi paket, Anda bisa mempublikasikan file konfigurasi dengan
perintah:
php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"
3.Buat Kelas Import:
Selanjutnya, buat kelas import yang akan menangani logika impor data. Anda bisa menggunakan
perintah Artisan untuk membuatnya:
php artisan make:import UsersImport --model=User
Kelas import ini akan berada di direktori app/Imports
. Edit kelas UsersImport
yang baru dibuat, misalnya:
<?php
namespace App\Imports;
use App\Models\User;
use Maatwebsite\Excel\Concerns\ToModel;
use Maatwebsite\Excel\Concerns\WithHeadingRow;
class UsersImport implements ToModel, WithHeadingRow
{
public function model(array $row)
{
return new User([
'name' => $row['name'],
'email' => $row['email'],
'password' => bcrypt($row['password']),
]);
}
}
php artisan make:controller UserController
Kemudian, tambahkan metode untuk mengimpor data:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Maatwebsite\Excel\Facades\Excel;
use App\Imports\UsersImport;
class UserController extends Controller
{
public function import(Request $request)
{
$request->validate([
'file' => 'required|mimes:xlsx,csv',
]);
Excel::import(new UsersImport, $request->file('file'));
return redirect()->back()->with('success', 'Data Imported Successfully');
}
}
5. Tambahkan Route:
Tambahkan route di routes/web.php
untuk menangani permintaan impor:
Route::post('/import', [UserController::class, 'import'])->name('import');
resources/views/import.blade.php
):
0 Komentar