devlover / laravel-excel-zip
1.1.0
2020-05-12 23:03 UTC
Requires
- ext-zip: *
- illuminate/support: ^6.0
- maatwebsite/excel: ^3.1
This package is auto-updated.
Last update: 2024-09-13 08:48:11 UTC
README
注意:这是一个处于非常早期阶段的包,旨在成为laravel-excel-zip包的后继者。它最初作为分支开始,因为我们需要Laravel 6.0的兼容性。我会尽力让它与Laravel 6及更高版本兼容。
laravel-excel-zip
download excels wrap in zip laravel-excel-zip是一个用于下载大型Excel文件的解决方案。你可以定义何时将Excel分块打包成zip文件。
安装
composer require devlover/laravel-excel-zip -vvv
使用方法
运行命令以创建config/excel_zip.php
php artisan vendor:publish --provider="Devlover\ExcelZip\ExcelZipServiceProvider"
导出
在你的Export
中使用自定义集合,并且不要定义collection
函数
<?php use Devlover\ExcelZip\WithZipCollection; use Maatwebsite\Excel\Concerns\FromCollection; class MemberExport implements FromCollection { use WithZipCollection; }
控制器
<?php use Devlover\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); } }