php - Laravel Excel 导入 CSV 加载数据

标签 php excel laravel csv import

我有这个 CSV(没有行标题)

001001,BENITEZ LI,2052,2059,2016-04-27 09:07:20
001002,CASA PARRO,13937,13945,2016-04-21 09:07:20
001004,NUEVO BANC,701,709,2016-04-23 22:07:20

使用此脚本:
Excel::filter('chunk')->load(public_path().'/uploads/'.$filename)->chunk(250, function($results) {
                    foreach ($results as $row) {
                        $user = Lectura::create([
                            'partida' => $row->partida,
                            'nombre' => $row->nombre,
                            'lectura_ant' => $row->lectura_ant,
                            'lectura_act' => $row->lectura_act,
                            'fecha' => $row->fecha,                                       
                        ]);
                    }
                });

我想使用此代码导入我的数据库,我可以正确获取每一行。但是添加了空值。转储变量:
CellCollection {#734 ▼
  #title: null
  #items: array:5 [▼
    "001001" => "001002"
    "benitez_li" => "CASA PARRO"
    2052 => 13937.0
    2059 => 13945.0
    "2016_04_27_090720" => "2016-04-21 09:07:20"
  ]
}

也许应该是(如何定义列名?):
CellCollection {#734 ▼
  #title: null
  #items: array:5 [▼
    "partida" => "001002"
    "nombre" => "CASA PARRO"
    "lectura_ant"=> 13937.0
    "lectura_act"=> 13945.0
    "fecha" => "2016-04-21 09:07:20"
  ]
}

或更好(转换为数组)。如何获取值? $row[1], $row[2]....
CellCollection {#734 ▼
  #title: null
  #items: array:5 [▼
    "0" => "001002"
    "1" => "CASA PARRO"
    "2"=> 13937.0
    "3"=> 13945.0
    "4" => "2016-04-21 09:07:20"
  ]
}

最佳答案

解决了 !!添加两行:

        $rows = Excel::load(public_path().'/uploads/'.$filename, function($reader) {
            $reader->toArray();
            $reader->noHeading();
        })->get();

       foreach ($rows as $row) {
           $item = array([
                'partida' => $row[0],
                'nombre' => $row[1],
                'lectura_ant' => $row[2],
                'lectura_act' => $row[3],
                'fecha' => $row[4], 
            ]);
            DB::table('lecturas_temp')->insert($item );
        }

关于php - Laravel Excel 导入 CSV 加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42641701/

相关文章:

php - 错误: Database table jobs for model Job was not found

php - mysql,从多个表中选择数据,表中没有公共(public)字段

php - 我无法将 Json 转换为字符串 [OctoberCms]

excel - 如何在Lua中读取并解析excel文件?

python - 使用 pythoncom 在 Python 进程之间编码(marshal) COM 对象

Laravel 5.7 和 Font Awesome

laravel - POST 请求在 laravel 中需要 Content-length header

PHP 页面计数器、数据库驱动 VS 文件 .. 哪个更好?

javascript - 无法通过 AJAX 将 JSON 作为字符串发送

excel - 如何结束所有正在运行的excel宏和excel函数?