2017 © Pedro Peláez
 

library chunk-export

A simple chunk export

image

stephen/chunk-export

A simple chunk export

  • Friday, September 22, 2017
  • by zhaozuowu
  • Repository
  • 1 Watchers
  • 1 Stars
  • 12 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 1 Open issues
  • 3 Versions
  • 20 % Grown

The README.md

基于laravel框架封装的一个分块导出组件

项目中涉及到大数据量的导出的时候,使用传统的页面导出方式很容易导出内存溢出,通常情况下采用分页导出的方式,循环去读取数据,输出到缓存区, (*1)

环境要求

1.Laravel 5.1以上, (*2)

2.PHP5.6以上, (*3)

安装package

这是一个标准的 Composer 的包,你可以直接通过下面的命令行来安装:, (*4)

composer require stephen/chunk-export

或者在你的 composer.json 文件中添加:, (*5)

"stephen/chunk-export" : "~1.0.0" 然后执行 composer install, (*6)

配置

註冊Service Provider

在config/app.php中添加provider, (*7)

  'providers' => [
        \Stephen\Chunk\ChunkServiceProvier::class,

    ],

在laravel中使用案例

 <?php

namespace App\Http\Controllers;

use App\User;
use Illuminate\Http\Request;
use Stephen\Chunk\Service\ChunkService;

class Export extends Controller
{
    //
    /**
     * @var ChunkService
     */
    private $chunkService;
    /**
     * @var User
     */
    private $user;

    /**
     * Export constructor.
     * @param ChunkService $chunkService
     */
    public function __construct(ChunkService $chunkService, User $user)
    {
        $this->chunkService = $chunkService;
        $this->user = $user;
    }

    public function index()
    {
        $config['models'] = $this->user->select('id', 'name', 'email')->orderBy('id', 'DESC');
        $config['headers'] = ['姓名', '邮箱'];
        $config['filename'] = '用户信息.csv';
        $pageSize = 10;

        $callback = function ($user) {
            $output = [];

            $output['name'] = iconv('UTF-8', 'GBK', $user['name']);
            $output['email'] = iconv('UTF-8', 'GBK', $user['email']);
            return $output;

        };
        $this->chunkService->exportCsv($config, $callback, $pageSize);


    }
}


The Versions

22/09 2017

dev-master

9999999-dev

A simple chunk export

  Sources   Download

by Avatar zhaozuowu

22/09 2017

1.0.1

1.0.1.0

A simple chunk export

  Sources   Download

by Avatar zhaozuowu

21/09 2017

1.0.0

1.0.0.0

A simple chunk export

  Sources   Download

by Avatar zhaozuowu