laravel-excel使用
-
官网 官方文档
-
composer [composer下载地址](require maatwebsite/laravel-excel-light)
-
安装所需要的PHP扩展和composer依赖扩展
"require": {
"ext-json": "*",
"php": "^7.0",
"phpoffice/phpspreadsheet": "^1.6",
"illuminate/support": "5.5.*|5.6.*|5.7.*|5.8.*",
"opis/closure": "^3.1"
},
"require-dev": {
"phpunit/phpunit": "^8.0",
"mockery/mockery": "^1.1",
"orchestra/testbench": "^3.8",
"orchestra/database": "^3.8",
"predis/predis": "^1.1"
}
这里的laravel需要的phpoffice/phpspreadsheet
composer包,所以还需要安装它,它需要的php扩展
"require": {
"php": "^5.6|^7.0",
"ext-ctype": "*",
"ext-dom": "*",
"ext-gd": "*",
"ext-iconv": "*",
"ext-fileinfo": "*",
"ext-libxml": "*",
"ext-mbstring": "*",
"ext-SimpleXML": "*",
"ext-xml": "*",
"ext-xmlreader": "*",
"ext-xmlwriter": "*",
"ext-zip": "*",
"ext-zlib": "*",
"psr/simple-cache": "^1.0",
"markbaker/complex": "^1.4",
"markbaker/matrix": "^1.1"
},
导出
- 创建一个到出类,在这个具体的导出里面写导出逻辑
php artisan make:export LiYiExport
后面可以加参数--model=
- 集合导出,这个需要继承接口
use Maatwebsite\Excel\Concerns\FromCollection;
use Illuminate\Database\Eloquent\Collection;
use Maatwebsite\Excel\Concerns\FromCollection;
class LiYiExport implements FromCollection
{
public function collection()
{
// TODO: Implement collection() method.
/*
* 实现一:以model类的查询方法 all();
* LiYiModel::all();
*/
if (!true) {
return $result = LiYiModel::all();
}
/**
* 实现二:自己构造一个二维数组,
*/
$result = [
[1,2