美文网首页
laravel 框架 excel 导入 导出

laravel 框架 excel 导入 导出

作者: 远方不会远 | 来源:发表于2018-08-02 12:10 被阅读46次

    一.Composer安装依赖

    在Laravel项目根目录下使用Composer安装依赖
     composer require maatwebsite/excel ~2.1
    

    二.注册服务 修改设置

    在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,
    

    三.创建一个控制器Excel

    创建一个控制器ExcelController.php:
             php artisan make:controller ExcelController 
    
    <?php
    
          namespace App\Http\Controllers\Admin;
          use App\Http\Controllers\Controller;
          use Illuminate\Http\Request;
          use Excel;
          use App\Http\Requests;
    
    class ExcelController extends Commoncontroller
    {
     //
            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;
    
    }
    
     }
    

    四、定义相关路由

            Route::get('export','ExcelController@export');
            Route::get('import','ExcelController@import');
    
    图片.png

    五、温馨提示

    如果你要导出csv或者xlsx文件,只需将export方法中的参数改成csv或xlsx。

    store方法,将该Excel文件保存到服务器上,文件默认保存到storage/exports目录下,iconv()是为了防止文件名中文乱码。

    六、效果展示

                   <li class="layui-btn " onclick="user_add('导出','{{asset('admin/export')}}',1500,800);">
                        <i class="layui-icon">&#xe654;</i>导出
                    </li>
                      <li class="layui-btn " onclick="user_add('导入','{{asset('admin/import')}}',1500,800);">
                        <i class="layui-icon">&#xe654;</i>导入
                    </li>
    
    图片.png
    点击导出
    6777727-79f7a48fa3fcadca.png
    项目文件夹
    6777727-62205b36ee871782.png
    点击导入
    图片.png

    好了 今天就写到这

    如果对您有所帮助的话 还请帮忙 点下 小 ♥♥♥

    ===========

    相关文章

      网友评论

          本文标题:laravel 框架 excel 导入 导出

          本文链接:https://www.haomeiwen.com/subject/mryjvftx.html