使用 Laravel 将 excel 文件导入数据库

Import excel file to database using Laravel

为什么在使用 laravel.

将 excel 文件导入数据库时​​得到未定义的偏移量

UserImport.php

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

    ]);
}

UserImportController

public function store(Request $request){

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

上传excel文件时,这样显示。 enter image description here

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

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

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

设置条件为 UserImport.php

if($row[0] !=""){ 
    return new User([ 
        'name' =>$row[0], 
        'email'=>$row[1], 
        'password' => Hash::make('password'), 
   ]); 
}