Laravel Excel ErrorException未定义偏移量:0

问题描述

尝试将excel数据导入我的mysql数据库并获取ErrorException Undefined offset:0。

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

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数据:

enter image description here

模型

 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类中删除WithHeadingRow接口,以将数字索引用于数组。

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...