PHP
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
tests
.editorconfig
.gitattributes
.gitignore
LICENSE
README.md
composer.json
composer.lock

README.md

Laravel CSV Export

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.