Get Excel, PDF, and CSV Downloads with Laravel Excel

0

 How to Download Excel,PDF,CSV files using Laravel Excel in Laravel

Download Excel,PDF,CSV with Laravel Excel

In this article we will learn how to download your data in Excel , PDF , CSV and in other formats in Laravel . We will use Laravel Excel package which is also known as maatwebsite package . Let's see how to use this package with example .

Step 1 - Install Laravel Excel Package :

Use the following command to install Laravel Excel Package on your project 

composer require maatwebsite/excel

Now we need to register the service provider inside config/app.php :

Add the following class in the providers array inside config/app.php .

'providers' => [
-----------------
-----------------
-----------------
-----------------

Maatwebsite\Excel\ExcelServiceProvider::class,
]

Add the following class in the aliases array inside config/app.php .

'aliases' => [
    .......
    .......
    .......

    'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]

Now publish your config changes using the following command .

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

Step 2 - Setup Your Route :

Route::get('/download','LaraExcelController@download')->name('download-doc');

Step 3 - Create Export File :

For downloading files in Excel , PDF , CSV or in any format using Laravel Excel we have to create a Export file for writting our Database Query and we will call this export file in our controller .

Use the following command and create a export file .

php artisan make:export filename --model=Model_name

php artisan make:export UsersExport --model=User

It will create a your file inside app/Exports/UsersExport.php . Now open this file and write your Database Query inside the collection method .

app/Exports/UsersExport.php :

<?php

namespace App\Exports;

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

class UsersExport implements FromCollection
{
    /**
    * @return \Illuminate\Support\Collection
    */
    public function collection()
    {
        return User::all();
    }
}

Step 4 - Setup Your Controller :

Now everything is done , we just need call the export file in our controller method in order to download the file as shown below .

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Exports\UsersExport;
use Maatwebsite\Excel\Facades\Excel;

class LaraExcelController extends Controller
{
    public function download()
    {
    	//To download file in Excel Format
    	return Excel::download(new UsersExport, 'users.xlsx');
    }
}

To Download in PDF format :


return Excel::download(new UsersExport, 'users.pdf');

To Download in CSV format :


return Excel::download(new UsersExport, 'users.csv');

Note :

While Downloading your file using this package for the first time you might get the following error .

Unable to resolve NULL driver for [Maatwebsite\Excel\Transactions\TransactionManager]

To resolve this issue please run any of the following command .

php artisan config:cache

php artisan config:clear


Post a Comment

0Comments
Post a Comment (0)