Description
Fast Excel import/export for Laravel, thanks to Spout.
Export
Export a Model or a Collection:
$list = collect([ [ 'id' => 1, 'name' => 'Jane' ], [ 'id' => 2, 'name' => 'John' ],]); (new FastExcel($list))->export('file.xlsx');
Export xlsx, ods and csv:
$invoices = App\Invoice::orderBy('created_at', 'DESC')->get();(new FastExcel($invoices))->export('invoices.csv');
Export only some attributes specifying columns names:
(new FastExcel(User::all()))->export('users.csv', function ($user) { return [ 'Email' => $user->email, 'First Name' => $user->firstname, 'Last Name' => strtoupper($user->lastname), ];});
Download (from a controller method):
return (new FastExcel(User::all()))->download('file.xlsx');
Import
import returns a Collection:
$collection = (new FastExcel)->import('file.xlsx');
Import a csv with specific delimiter, enclosure characters and "gbk" encoding:
$collection = (new FastExcel)->configureCsv(';', '#', 'gbk')->import('file.csv');
Import and insert to database:
$users = (new FastExcel)->import('file.xlsx', function ($line) { return User::create([ 'name' => $line['Name'], 'email' => $line['Email'] ]);});
Recent Courses on Laravel Daily
Next.js Basics for Laravel Developers
11 lessons
58 min
Laravel 13 Eloquent: Expert Level
41 lessons
1 h 34 min
Queues in Laravel 13
18 lessons
1 h 12 min read