laravel 使用Composer实现Excel导入导出

laravel 使用Composer实现Excel导入导出

简介

Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel,从而方便我们以优雅的、富有表现力的代码实现Excel/CSV文件的导入和导出。

安装&配置

使用Composer安装依赖
首先在Laravel项目根目录下使用Composer安装依赖(在laravel框架内):

composer require maatwebsite/excel ~2.1 

如果报错则在执行下图,无出错则跳过

在这里插入图片描述

然后在composer运行

composer update

安装后的设置
在config/app.php中注册服务提供者到providers数组:

Maatwebsite\Excel\ExcelServiceProvider::class,

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

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

执行Artisan命令:

php artisan vendor:publish

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

修改生成的excel.php文件

大约是在431行,将’to_ascii’ => true,改为
'to_ascii' => false,在这里插入代码片(防止中文乱码)
创建一个控制器ExcelController.php:

php artisan make:controller ExcelController 

然后在routes.php中定义相关路由:

Route::get('excel/export','ExcelController@export');

Route::get('excel/import','ExcelController@import');

然后实现导出、导入功能:

<?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;

    }

}

如有出错联系我:
q邮箱:1803821084@qq.com
163邮箱:m13523238379@163.com

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值