1

为什么在使用 laravel 将 excel 文件导入数据库时​​得到未定义的偏移量。

用户导入.php

public function model(array $row)
{
    var_dump($row);
    
    return new User([
        'name' =>$row[0],
        'email'=>$row[1],
        'password' => Hash::make('password'),

    ]);
}

用户导入控制器

public function store(Request $request){

    $file = $request->file('file');
    Excel::import(new UsersImport, $file);
    return back()->withStatus('Successfully');
}

上传excel文件时,像这样显示。 在此处输入图像描述

我使用 var_dump() 查看数组。我在 excel 文件中输入了 4 行。但显示5个数组数据。为什么???(显示在输入的图像中。)

4

2 回答 2

0

我相信这是因为文件末尾的新行。

您应该检查它是否只包含一个新行并跳过导入。

于 2021-03-26T13:31:50.980 回答
0

为UserImport.php设置 if 条件

if($row[0] !=""){ 
    return new User([ 
        'name' =>$row[0], 
        'email'=>$row[1], 
        'password' => Hash::make('password'), 
   ]); 
}
于 2021-03-26T14:02:13.127 回答