laravel excel的安装和使用

1,使用Composer安装依赖

在Laravel项目根目录下使用Composer安装依赖:

composer require maatwebsite/excel ~2.1

  ps:一定要加上~2.1!!!因为现在已经更新到3.0版本了,如果你不加的话,会安装最新的3.0版本!等运行时候就会报错,类似下面这样的报错

Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_ERROR)Call to undefined method Maatwebsite\Excel\Excel::create(),

  

2,安装后,修改设置

在config/app.php中注册服务提供者到providers数组:

Maatwebsite\Excel\ExcelServiceProvider::class,

在config/app.php中注册门面到aliases数组:

'Excel' => Maatwebsite\Excel\Facades\Excel::class,

  执行Artisan命令:

 php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"  

  

执行成功后会在config目录下生成文件excel.php。

修改生成的excel.php文件

大约是在431行,将'to_ascii' => true,改为

'to_ascii' => false,

  

<?php

namespace App\Http\Controllers;

use App\Http\Requests;

use Illuminate\Http\Request;

use App\Http\Controllers\Controller;

use Excel;

class ExcelController extends Controller

{

    public function export()

    {

        $cellData = [

            ['id','姓名','年龄'],

            ['10001','张三','19'],

            ['10002','李四','22'],

            ['10003','王五','23'],

            ['10004','赵六','19'],

            ['10005','猴七','22'],

        ];

        $name = iconv('UTF-8', 'GBK', '成员信息');

        Excel::create($name,function($excel) use ($cellData){

            $excel->sheet('score', function($sheet) use ($cellData){

                $sheet->rows($cellData);

            });

        })->store('xls')->export('xls');

    }

    public function import(){

        $filePath = 'storage/exports/'.iconv('UTF-8', 'GBK', '成员信息').'.xls';

        Excel::load($filePath, function($reader) {

            $data = $reader->all(); dump($data);

        });

        exit;

    }

}

  

posted @ 2020-05-28 16:50  佚小名  阅读(590)  评论(0编辑  收藏  举报