Laravel Excel Integration
Laravel Excel is the default package used when exporting DataTables to Excel and CSV.
Using Export Class
- Create an export class
php artisan make:export UsersExport - Update the generated export class and extend
DataTablesCollectionExport
<?php// app/Exports/UsersExport.php namespace App\Exports; use Yajra\DataTables\Exports\DataTablesCollectionExport; class UsersExport extends DataTablesCollectionExport{}
- Update your
UsersDataTableclass and setprotected $exportClass = UsersExport::class
<?php// app/DataTables/UsersDataTable.php namespace App\DataTables; use App\Exports\UsersExport;use Yajra\DataTables\Services\DataTable; class UsersDataTable extends DataTable{ protected string $exportClass = UsersExport::class;}
- Update your export class as needed. See official package docs: https://docs.laravel-excel.com/3.1/exports/collection.html
Example Export Class
<?php// app/Exports/UsersExport.php namespace App\Exports; use Maatwebsite\Excel\Concerns\WithMapping;use Yajra\DataTables\Exports\DataTablesCollectionExport; class UsersExport extends DataTablesCollectionExport implements WithMapping{ public function headings(): array { return [ 'Name', 'Email', ]; } public function map($row): array { return [ $row['name'], $row['email'], ]; }}
See Also
- Laravel Excel Docs - Official Laravel Excel documentation
- Buttons Fast Excel - Alternative Excel export method
- Export Options - Customize export formatting