cblink / laravel-excel-zip
1.0.1
2019-03-14 06:20 UTC
Requires
- chumper/zipper: ^1.0
- maatwebsite/excel: ^3.0
Requires (Dev)
- laravel/framework: ^5.6
This package is not auto-updated.
Last update: 2024-09-21 17:46:13 UTC
README
将Excel文件打包下载
laravel-excel-zip 是下载大型Excel文件的解决方案。您可以定义何时将Excel文件分块打包成ZIP文件。
安装
composer require cblink/laravel-excel-zip -vvv
使用方法
运行命令以创建 config/excel_zip.php
php artisan vendor:publish --provider="Cblink\ExcelZip\ExcelZipServiceProvider"
导出
在您的 Export
中使用自定义集合,不要定义 collection
函数
<?php use Cblink\ExcelZip\CustomCollection; use Maatwebsite\Excel\Concerns\FromCollection; class MemberExport implements FromCollection { use CustomCollection; }
控制器
<?php use Cblink\ExcelZip\ExcelZip; use App\Http\Controllers\Controller; class MemberController extends Controller { // chunk by database(better!) public function export1(ExcelZip $excelZip, MemberExport $export) { $excelZip = $excelZip->setExport($export); Member::chunk(5000, function ($members) use ($excelZip) { $excelZip->excel($members); }); return $excelZip->zip(); } // chunk in laravel-excel-zip public function export2(ExcelZip $excelZip, MemberExport $export) { return $excelZip->download(Member::all(), $export); } }