当前位置 博文首页 > json_li的博客:Laravel Excel 3.1 导出
laravel版本 6.2 不能再指定 maatwebsite/excel 2版本的,而版本3的excel基本方法已经重写了,使用方法也与2.x,大不一样!
目录
1.安装
2. 3.x方法与2.x方法比较
3.excel 导出
4.设置标题,设置数据
composer require maatwebsite/excel
不需要在config/app.php中加载配置
php artisan make:export AdminExport --model=Admin
会在app下创建Exports目录
app
├── Exports
│ ├── AdminExport.php
AdminExport.php 代码内容
<?php
namespace App\Exports;
use App\Admin;
use Maatwebsite\Excel\Concerns\FromCollection;
class AdminExport implements FromCollection
{
/**
* @return \Illuminate\Support\Collection
*/
public function collection()
{
// 数据表模型层 查询admin表中所有数据
return Admin::all();
}
}
在控制器中调用
use App\Http\Controllers\Controller;
use App\Exports\AdminExport;
use Maatwebsite\Excel\Facades\Excel;
class AdminController extends Controller
{
/**
* 导入格式xls文件下载
*/
public function export()
{
return Excel::download(new AdminExport(), '用户.xls');
}
打开文件
代码如下:
<?php
namespace App\Exports;
use App\Admin;
use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\FromCollection;
class AdminExport implements FromCollection
{
/**
* @return \Illuminate\Support\Collection
*/
public function collection()
{
// 数据表模型层
return new Collection($this->createData());
}
/**
* 业务代码
* @return mixed
*/
public function createData()
{
$arr = Admin::where('status', 1)->get(['id', 'name', 'login_count', 'created_at'])->toArray();
array_unshift($arr, ['ID', '账号', '登录次数', '创建时间']);
return $arr;
}
}
效果如下:
?
提示:
// 参数3 当无法识别导出文件的后缀时,可指定文件后缀 文件后缀首字母需大写
Excel::download(new AdminExport(), '用户.xls', 'Xls')
可使用的文件类型
借鉴文章:https://learnku.com/articles/32391
cs