Wallogit.com
2017 © Pedro Peláez
Export a Large CSV Files with Laravel.
Export a Large Dataset in CSV Format. It is based on Symfony’s StreamedResponse and Laravel’s chunked queries., (*1)
Current version: [v1.0.4], (*2)
Via Composer, (*3)
``` bash $ composer require clivern/lce, (*4)
Then add the ServiceProvider to the providers array in `config/app.php` ```php 'providers' => [ // ... Clivern\Lce\LceServiceProvider::class, // ... ],
You can use the facade for shorter code. Add this to your aliases:, (*5)
'aliases' => [
// ...
'Lce' => Clivern\Lce\Facades\Lce::class,
// ...
],
The class is bound to the ioC as lce, (*6)
$lce = App::make('lce');
For Example Let's use it to export options table., (*7)
``` php namespace App\Http\Controllers;, (*8)
use App\Http\Controllers\Controller; use App\Models\Option; # Eloquent Model use Validator; use Input; use Illuminate\Http\Request; use Illuminate\Support\Facades\View;, (*9)
class HomeController extends Controller {, (*10)
public function indexRender()
{
return \App::make('lce')
->file('options')
->source(new Option)
->chunks(10)
->header([["Id","Option Key","Option Value"], ['', '', '']])->callback(function($option){
return [
$option->id,
$option->op_key,
$option->op_value,
];
})->export();
}
}, (*11)
## Change log
Version 1.0.4:, (*12)
Composer lock file added., (*13)
Version 1.0.3:, (*14)
New method to get CSV file content. New feature to add two rows in single return., (*15)
Version 1.0.2:, (*16)
Docs Updated., (*17)
Version 1.0.1:, (*18)
Docs Updated. UTF-8 Support Added., (*19)
Version 1.0.0:, (*20)
Initial Release. ```, (*21)
If you discover any security related issues, please email hello@clivern.com instead of using the issue tracker., (*22)
The MIT License (MIT). Please see License File for more information., (*23)