clivern/lce

使用 Laravel 导出大型 CSV 文件。

v1.0.4 2017-08-08 13:05 UTC

This package is auto-updated.

Last update: 2024-08-29 21:34:43 UTC


README

以 CSV 格式导出大型数据集。它基于 Symfony 的 StreamedResponse 和 Laravel 的分块查询。

当前版本:[v1.0.4]

安装

通过 Composer

$ composer require clivern/lce

然后在 config/app.php 的 providers 数组中添加 ServiceProvider

'providers' => [
    // ...
    Clivern\Lce\LceServiceProvider::class,
    // ...
],

您可以使用 facade 以缩短代码。将以下内容添加到您的别名中

'aliases' => [
    // ...
    'Lce' => Clivern\Lce\Facades\Lce::class,
    // ...
],

该类绑定到 IoC 为 lce

$lce = App::make('lce');

用法

例如,让我们使用它来导出选项表。

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.

安全

如果您发现任何安全相关的问题,请发送电子邮件至 hello@clivern.com 而不是使用问题跟踪器。

许可

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件