Fast Excel Integration

Fast-Excel is recommended when exporting bulk records.

Usage

  1. Install fast-excel using composer require rap2hpoutre/fast-excel.
  2. Create a dataTable class php artisan datatables:make Users
  3. Adjust UsersDataTable as needed.
  4. Set property $fastExcel = true.
class UsersDataTable extends DataTable
{
    protected $fastExcel = true;

    ...
}
  1. DataTables will now export csv & excel using fast-excel package.

Faster export by disabling the fast-excel callback

  1. Just set property $fastExcelCallback = false. This is enabled by default for a better formatted output of exported file.
class UsersDataTable extends DataTable
{
    protected $fastExcel = true;
    protected $fastExcelCallback = false;
  1. Exported file will now be based on how your query was structured. No header formatting and all selected columns in sql will be included in the output.

Using custom callback

Just override the fastExcelCallback method:

class UsersDataTable extends DataTable
{
    protected $fastExcel = true;

    public function fastExcelCallback()
    {
        return function ($row) {
            return [
                'Name' => $row['name'],
                'Email' => $row['email'],
            ];
        };
    }

...