yajra / laravel-datatables-buttons
Laravel DataTables Buttons Plugin.
Package info
github.com/yajra/laravel-datatables-buttons
pkg:composer/yajra/laravel-datatables-buttons
Fund package maintenance!
Requires
- php: ^8.3
- illuminate/console: ^13
- yajra/laravel-datatables-html: ^13
- yajra/laravel-datatables-oracle: ^13
Requires (Dev)
- larastan/larastan: ^3.1
- laravel/pint: ^1.21
- maatwebsite/excel: ^3.1.64
- openspout/openspout: ^4.24 || ^5.3
- orchestra/testbench: ^11
- rector/rector: ^2.0
Suggests
- barryvdh/laravel-snappy: Allows exporting of dataTable to PDF using the print view.
- dompdf/dompdf: Allows exporting of dataTable to PDF using the DomPDF.
- maatwebsite/excel: Exporting of dataTables (excel, csv and PDF) using maatwebsite package.
- openspout/openspout: Faster streaming export of dataTables (Excel/CSV) when using the fast export option (OpenSpout ^4.24 or ^5.3).
- yajra/laravel-datatables-export: Exporting of dataTables (excel, csv and PDF) via livewire and queue worker.
This package is auto-updated.
Last update: 2026-07-21 05:19:55 UTC
README
This package is a plugin of Laravel DataTables for handling server-side function of exporting the table as csv, excel, pdf and printing.
Requirements
- PHP >= 8.3
- Laravel 12.x
- Laravel DataTables
- jQuery DataTables v1.10.x
- jQuery DataTables Buttons Extension
Documentations
Laravel Version Compatibility
| Laravel | Package |
|---|---|
| 8.x and below | 4.x |
| 9.x | 9.x |
| 10.x | 10.x |
| 11.x | 11.x |
| 12.x | 12.x |
| 13.x | 13.x |
Quick Installation
composer require yajra/laravel-datatables-buttons:^13
Service Provider (Optional on Laravel 5.5)
Yajra\DataTables\ButtonsServiceProvider::class
Configuration and Assets (Optional)
$ php artisan vendor:publish --tag=datatables-buttons --force
And that's it! Start building out some awesome DataTables!
HTML Builder Resolution
DataTableHtml::make() resolves the HTML builder through Laravel's service container, whether or not constructor arguments are provided. Explicit positional arguments are passed to the resolved class as constructor overrides.
Because container resolution happens before handle() builds the table, applications can use container bindings and resolving or afterResolving callbacks to configure or extend the HTML builder consistently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email aqangeles@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.