Excel export in Laravel

AuthorSumit Dey Sarkar

Pubish Date22 Mar 2023

categoryLaravel

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:

<?php

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:

<?php

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