lumen简单使用exel组件

Posted kaoru

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lumen简单使用exel组件相关的知识,希望对你有一定的参考价值。

1.首先打开命令行,进入到lumen项目的根目录中,然后用composer下载excel组件

composer require maatwebsite/excel ~2.1.0

 

2.安装成功后,在bootstrap/app.php中注册这个插件类

$app->register(Maatwebsite\\Excel\\ExcelServiceProvider::class);

这里要取消下面两行前面的注释

$app->withFacades();

$app->withEloquent();

3.然后开始写demo啦

在routes/web.php下

$app->get(\'/\', function () use ($app) {
return $app->version();
});

$app->get(\'/excel\', \'ExcelController@export\');

然后在app/Http/Controllers下创建一个控制器文件ExcelController.php,内容如下
<?php

namespace App\\Http\\Controllers;

use Maatwebsite\\Excel\\Facades\\Excel;

class ExcelController extends Controller
{
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

    public function export()
    {
        $cellData = [
            [\'学号\',\'姓名\',\'成绩\'],
            [\'10001\',\'AAAAA\',\'99\'],
            [\'10002\',\'BBBBB\',\'92\'],
            [\'10003\',\'CCCCC\',\'95\'],
            [\'10004\',\'DDDDD\',\'89\'],
            [\'10005\',\'EEEEE\',\'96\'],
        ];
        Excel::create(\'学生成绩\',function($excel) use ($cellData){
            $excel->sheet(\'score\', function($sheet) use ($cellData){
                $sheet->rows($cellData);
            });
        })->export(\'xls\');

        Excel::create(\'学生成绩\',function($excel) use ($cellData){
            $excel->sheet(\'score\', function($sheet) use ($cellData){
                $sheet->rows($cellData);
            });
        })->store(\'xls\')->export(\'xls\');
    }

}

  

这里注意要在头部加上use Maatwebsite\\Excel\\Facades\\Excel;然后用浏览器访问        项目启动路径/excel,    然后就会生成如下表格

如果还想把excel 表保存在服务器的话

可以使用如下代码

文件默认保存在storage/exports,保存在服务器的文件名中文出现了乱码,可以使用  iconv(\'UTF-8\', \'GBK\', \'学生成绩\')

  Excel::create(\'学生成绩\',function($excel) use ($cellData){
            $excel->sheet(\'score\', function($sheet) use ($cellData){
                $sheet->rows($cellData);
            });
        })->store(\'xls\')->export(\'xls\');

以上是关于lumen简单使用exel组件的主要内容,如果未能解决你的问题,请参考以下文章

js如何导出exel文件?

Lumen 5.2+ 中的视图

如何使用导航组件处理片段内的向上按钮

使用 NavController 从片段导航到另一个片段

lumen和laravel有啥本质区别

exel VBA拆分工作表