Export a Large Dataset in CSV Format. It is based on Symfony’s StreamedResponse and Laravel’s chunked queries.
Current version: [v1.0.4]
Via Composer
$ composer require clivern/lceThen add the ServiceProvider to the providers array in config/app.php
'providers' => [ // ... Clivern\Lce\LceServiceProvider::class, // ... ],You can use the facade for shorter code. Add this to your aliases:
'aliases' => [ // ... 'Lce' => Clivern\Lce\Facades\Lce::class, // ... ],The class is bound to the ioC as lce
$lce = App::make('lce');For Example Let's use it to export options table.
namespace App\Http\Controllers; use App\Http\Controllers\Controller; use App\Models\Option; # Eloquent Model use Validator; use Input; use Illuminate\Http\Request; use Illuminate\Support\Facades\View; class HomeController extends Controller { 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(); } }Version 1.0.4: > Composer lock file added. Version 1.0.3: > New method to get CSV file content. > New feature to add two rows in single return. Version 1.0.2: > Docs Updated. Version 1.0.1: > Docs Updated. > UTF-8 Support Added. Version 1.0.0: > Initial Release. If you discover any security related issues, please email hello@clivern.com instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.