clivern / lce
Export a Large CSV Files with Laravel.
v1.0.4
2017-08-08 13:05 UTC
Requires
- php: ~5.4|~7.0
Requires (Dev)
- php: ~5.4|~7.0
This package is auto-updated.
Last update: 2024-10-29 21:50:28 UTC
README
Export a Large Dataset in CSV Format. It is based on Symfony’s StreamedResponse and Laravel’s chunked queries.
Current version: [v1.0.4]
Installation
Via Composer
$ composer require clivern/lce
Then 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');
Usage
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(); } }
Change log
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.
Security
If you discover any security related issues, please email hello@clivern.com instead of using the issue tracker.
License
The MIT License (MIT). Please see License File for more information.