导出到excel


导出成excel下载到本地

批量将表数据导出成excel下载到本地,在laravel使用第三方插件库来完成此项工作

插件库:https://packagist.org/packages/maatwebsite/excel

官网: https://docs.laravel-excel.com/3.1/getting-started/

导出步骤:https://docs.laravel-excel.com/3.1/exports/

安装对应的phpexcel插件

composer require maatwebsite/excel=3.1

安装成功后,就会给我们提供生成导出数据的命令,使用命令生成导出文件

php artisan make:export FangOwnerExport --model=Models/FangOwner

下面是官方文档的给的相关例子:

The file can be found in app/Exports:

.
├── app
│   ├── Exports
│   │   ├── UsersExport.php
│ 
└── composer.json

If you prefer to create the export manually, you can create the following in app/Exports:

<?php

namespace App\Exports;

use App\User;
use Maatwebsite\Excel\Concerns\FromCollection;

class UsersExport implements FromCollection
{
    public function collection()
    {
        return User::all();
    }
}

🔥 In your controller you can call this export now:

<?php

namespace App\Http\Controllers;

use App\Exports\UsersExport;
use Maatwebsite\Excel\Facades\Excel;

class UsersController extends Controller 
{
    public function export() 
    {
        return Excel::download(new UsersExport, 'users.xlsx');
    }
}

And finally add a route to be able to access the export:

Route::get('users/export/', 'UsersController@export');

📄 Find your users.xlsx in your downloads folder!


文章作者: virus
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 virus !
 上一篇
一些场景的思路笔记 一些场景的思路笔记
新增预约场景 什么时机发送消息给客户? 答:添加入库成功后,发送消息给客户。 在laravel写在控制器中,还是写别的地方? 答:从业务代码可维护成本来说,分离代码是更好的维护,所以一般不写在控制器中 laravel提供orm操作中,有模型
2020-05-12
下一篇 
mysql实现主从复制和读写分离 mysql实现主从复制和读写分离
MySQL实现主从复制 在进行curd的同时,主服务器的复制数据库到从服务器中,保证数据不流失 环境介绍 系统环境:centos7.0 客户端连接工具:Xshell 远程文件传输工具:xftp 服务器(虚拟机): 主服务器:自
2020-05-05
  目录