Setelah sebelumnya saya membahas membuat file pdf dari HTML di laravel. Kali ini ada tutorial melakukan export atau import pada file excel. Sebenarnya ada beberapa package di laravel untuk melakukan fitur ini, salah satu yang populer adalah laravel excel. Lalu pada tutorial ini menggunakan Laravel Fast Excel. Kenapa ada kata “fast”, karena dibandingkan laravel excel, hasilnya benchmarknya laravel fast excel lebih cepat.

Walau lebih cepat, namun fitur yang dimiliki laravel fast excel tidak selengkap laravel excel. Tapi untuk fitur sederhana laravel fast excel sudah sangat cukup

Instalasi

instal melalui composer

1
composer require rap2hpoutre/fast-excel

Lalu kita siap melakukan export atau import

Export

Export dari model atau collection:

1
2
3
4
5
6
$list = collect([
[ 'id' => 1, 'name' => 'Jane' ],
[ 'id' => 2, 'name' => 'John' ],
]);

(new FastExcel($list))->export('file.xlsx');

Export ke xlsx, ods dan csv:

1
2
$invoices = App\Invoice::orderBy('created_at', 'DESC')->get();
(new FastExcel($invoices))->export('invoices.csv');

Export hanya pada atribut tertentu dengan mendefinisikan nama kolom :

1
2
3
4
5
6
7
(new FastExcel(User::all()))->export('users.csv', function ($user) {
return [
'Email' => $user->email,
'First Name' => $user->firstname,
'Last Name' => strtoupper($user->lastname),
];
});

Import

Import ke collection

1
$collection = (new FastExcel)->import('file.xlsx');

Import dari csv dengan mendefinisikan delimiter dan enclosure

1
$collection = (new FastExcel)->configureCsv(';', '#')->import('file.csv');

Import lalu masukkan ke database

1
2
3
4
5
6
$users = (new FastExcel)->import('file.xlsx', function ($line) {
return User::create([
'name' => $line['Name'],
'email' => $line['Email']
]);
});

untuk lebih jelas bisa langsung ke https://github.com/rap2hpoutre/fast-excel

Tulisan Lain   Kumpulan Template Admin HTML Free Untuk Aplikasi Berbasis Web

By alfach

Leave a Reply

Your email address will not be published. Required fields are marked *