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

本文档介绍了如何使用LaravelExcel3.1进行Excel数据导入。首先通过Composer安装扩展,然后创建自定义导入类,接着修改导入类实现toArray方法。在控制器中定义路由和方法,读取上传文件并保存到数据库。最后提醒读者多做测试以确保导入功能的稳定性。
摘要由CSDN通过智能技术生成

官方手册:🚀 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文件是否能用

我是星星,学习不打烊。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xingxingwuxin

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值