Laravel-excel: Importar CSV sin encabezados de columnas

Creado en 7 mar. 2017  ·  3Comentarios  ·  Fuente: Maatwebsite/Laravel-Excel

tengo este CSV (sin encabezados de fila)

    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

Usando este script:

    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,                                       
                            ]);
                        }
                    });

Quiero importar a mi base de datos usando este código, no puedo obtener correctamente cada línea. Pero inserte valores nulos. Espectáculo de fila de volcado:

    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"
      ]
    }

Quizás debería ser (¿cómo se pueden definir los nombres de las columnas?):

    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"
      ]
    }

o mejor (convertir a matriz). ¿Cómo se pueden obtener valores? $ fila [1], $ fila [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"
      ]
    }

Comentario más útil

Lo tengo funcionando usando
$records = Excel::load(storage_path($filename), function($reader) { $reader->noHeading = true; }, 'ISO-8859-1')->get();

Todos 3 comentarios

Lo tengo funcionando usando
$records = Excel::load(storage_path($filename), function($reader) { $reader->noHeading = true; }, 'ISO-8859-1')->get();

Resolví el problema con esto.

$ filas = Excel :: load (public_path (). '/ uploads /'.$ nombre de archivo, función ($ lector) {
$ lector-> toArray ();
$ lector-> noHeading ();
}) -> obtener ();

¿Fue útil esta página
0 / 5 - 0 calificaciones