Laravel Excel ErrorException 未定义的偏移量:0

Laravel Excel ErrorException Undefined offset: 0

正在尝试将 excel 数据导入我的 mysql 数据库并出现 ErrorException Undefined offset: 0.

尝试使用 var_dump($row) 检查数据行的数组。它看起来很糟糕,不确定如何使数据显示得很好,以便能够传递给数据库。

array(5) { ["a"]=> string(1) "B" ["white"]=> string(5) "Green" ["example1_at_gmailcom"]=> string(18) "example2@gmail.com" [60123456789]=> int(60162313142) [5]=> int(5) }

这是我的excel数据:

型号

 public function model(array $row)
{
    var_dump($row);
    return new ContactList([
        'first_name' => $row[0],
        'last_name' => $row[1],
        'email' => $row[2],
        'phone' => $row[3],
        'group_id' => $row[4],
    ]);
}

我已经尝试过使用字符串替换 $row[] 并且它可以完美地将数据存储到我的数据库中。

控制器

if($request->hasFile('selected_file')){

            $file = $request->file('selected_file');
            Excel::import(new ContactListsImport, $file);


            return redirect()->back()->with('success', 'Data saved successfully!');
        }

您需要从 Import class 中删除 WithHeadingRow 接口才能使用数组的数字索引。

根据 documentation,当您的 Import class 实现 WithHeadingRow 时,它将使用第一行作为数组的索引,然后将其从行中删除提供。