![]()
WARNING You're browsing the documentation for an upcoming version of Laravel DataTables. The documentation and features of this release are subject to change.
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