у меня есть этот 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"
]
}
Вы можете отключить его в конфиге: https://github.com/Maatwebsite/Laravel-Excel/blob/2.1/src/config/excel.php#L374
Получил работу, используя
$records = Excel::load(storage_path($filename), function($reader) { $reader->noHeading = true; }, 'ISO-8859-1')->get();
Решил проблему с этим.
$ rows = Excel :: load (public_path (). '/ uploads /'.$ имя_файла, функция ($ reader) {
$ reader-> toArray ();
$ reader-> noHeading ();
}) -> получить ();
Самый полезный комментарий
Получил работу, используя
$records = Excel::load(storage_path($filename), function($reader) { $reader->noHeading = true; }, 'ISO-8859-1')->get();