Excel export in Laravel

AuthorSumit Dey Sarkar

Pubish Date22 Mar 2023


In this tutorial we will learn how to generate excel file in Laravel.


How to Generate Excel File in Laravel

To generate an Excel file in Laravel, you can use the Laravel Excel package. This package provides an easy-to-use interface for exporting data from your Laravel application to Excel format.

Here are the steps to generate an Excel file in Laravel using Laravel Excel:

Step 1 - Install the Laravel Excel package via Composer:

composer require maatwebsite/excel


Step 2 - Publish the configuration file:

php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider" --tag=config


Step 3 - Create a new class that extends the Maatwebsite\Excel\Concerns\FromCollection class. This class will be responsible for providing the data to be exported to Excel. For example:


namespace App\Exports;

use App\Models\User;
use Maatwebsite\Excel\Concerns\FromCollection;

class UsersExport implements FromCollection
    public function collection()
        return User::all();


Step 4 - In your controller, create a new method that will handle the Excel export. In this method, you will use the Excel facade to create a new instance of the UsersExport class and download the Excel file. For example:


namespace App\Http\Controllers;

use App\Exports\UsersExport;
use Maatwebsite\Excel\Facades\Excel;

class UsersController extends Controller
    public function export()
        return Excel::download(new UsersExport, 'users.xlsx');


Step 5 - Finally, create a route in your web.php file that will call the export method of your UsersController:

Route::get('/export-users', [App\Http\Controllers\UsersController::class, 'export']);


Now you can visit /export-users in your browser to download the Excel file containing the data from the users table.

Comments 0

Leave a comment