当前位置: 首页 > 工具软件 > Laravel-Excel > 使用案例 >

Laravel6.x及以上版本使用laravel-excel3.x之导入

岳佐
2023-12-01

官方手册: 5 minute quick start | Laravel Excel

借鉴:Laravel Excel 3.1 使用方法 Excel 导入操作_Do_Only的博客-CSDN博客_excel::toarray

 第一步:安装

composer require maatwebsite/excel

第二步:创建自定义导入文件

该命令app/Exports目录下生成对应的文件

php artisan make:import DaoruImport

第三步:修改自定义导入文件

生成后的文件内容(这是我根据自己的需求改成的数组)

<?php

namespace App\Imports;

use App\Models\Article;
use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\ToArray;
use Maatwebsite\Excel\Concerns\ToCollection;
use Maatwebsite\Excel\Concerns\ToModel;

class DaoruImport implements ToArray
{
    /**
     * @param array $row
     *
     * @return Article|null
     */
    public function Array(Array $tables)
    {
//        dump('333');die;
        return $tables;
    }
}

第四步:定义路由与方法

路由

Route::get('import','TestController@import');

控制器

    /**
     * 导入Excel
     * @return void
     */
    public function daoru(Request $request)
    {
        $data = Excel::toArray(new DaoruImport, request()->file('file'));
//        dd($data);
        // 加工数据$data;
        if(!empty($data)) {
            $arr = $data[0];
            unset($arr[0]);
            foreach($arr as $rows) {
                $insert = [
                    'username' => $rows[0],
                    'mobile' => $rows[1],
                ];
                DB::table('users')->insert($insert);
            }
            return Response::json(['code'=>1,'msg'=>'导入成功']);
        }

    }

细节:如果你写完你的程序后,请一定多测试几个列如:user.xls文件,本人的心酸历程就不分享了,总之,就是多测试测试导入的Excel文件是否能用

我是星星,学习不打烊。

 类似资料: