import excel
By Auliya 6 views 2 years ago
Untuk mengimpor data dari file Excel ke dalam aplikasi Laravel, Anda dapat menggunakan library seperti "maatwebsite/excel". Berikut adalah langkah-langkah untuk mengimpor data dari Excel:
Instal library "maatwebsite/excel":
Buka terminal atau command prompt, arahkan ke direktori proyek Laravel Anda, dan jalankan perintah berikut:
shell
Copy code
composer require maatwebsite/excel
Buat formulir impor Excel:
Buat file tampilan yang akan menampilkan formulir impor Excel. Contoh sederhana sebagai berikut:
html
Copy code
<form action="{{ route('import.excel.post') }}" method="POST" enctype="multipart/form-data">
@csrf
<input type="file" name="excel_file" required>
<button type="submit" class="btn btn-primary">Import Excel</button>
</form>
Pastikan untuk memberikan atribut action yang mengarah ke rute import.excel.post yang akan menangani proses impor.
Tambahkan rute dan controller untuk menangani impor Excel:
Buka file routes/web.php dan tambahkan rute untuk impor Excel:
php
Copy code
Route::get('/import-excel', 'ExcelImportController@showForm')->name('import.excel');
Route::post('/import-excel', 'ExcelImportController@import')->name('import.excel.post');
Selanjutnya, buat controller dengan perintah artisan:
shell
Copy code
php artisan make:controller ExcelImportController
Buka file app/Http/Controllers/ExcelImportController.php dan tambahkan method showForm dan import:
php
Copy code
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Maatwebsite\Excel\Facades\Excel;
use App\Imports\YourImportClass; // Ganti dengan kelas impor yang sesuai
class ExcelImportController extends Controller
{
public function showForm()
{
return view('import-form');
}
public function import(Request $request)
{
$file = $request->file('excel_file');
try {
Excel::import(new YourImportClass, $file);
// Import berhasil, lakukan tindakan lainnya atau berikan pesan sukses
return redirect()->back()->with('success', 'Data imported successfully!');
} catch (\Exception $e) {
// Terjadi kesalahan saat mengimpor, berikan pesan kesalahan
return redirect()->back()->with('error', 'Error importing data: ' . $e->getMessage());
}
}
}
Pastikan Anda mengganti YourImportClass dengan kelas impor yang sesuai untuk mengimpor data ke model atau tempat tujuan yang diinginkan.
Buat kelas impor Excel:
Buat kelas impor baru dengan perintah artisan:
shell
Copy code
php artisan make:import YourImportClass
Buka file yang baru dibuat (misalnya, app/Imports/YourImportClass.php) dan sesuaikan logika impor dengan kebutuhan Anda. Contoh sederhana sebagai berikut:
php
Copy code
<?php
namespace App\Imports;
use Maatwebsite\Excel\Concerns\ToModel;
use App\Models\YourModel; // Ganti dengan model yang sesuai