Importar datos de un documento: csv, xlsx, txt a una DB con LARAVEL

by | Sep 25, 2020 | Conocimiento General

1.- Entar a composer.json y en los require agregar lo siguiente:

“maatwebsite/excel”: “~2.1.0”,

2.-Entrar a config/app.php

En el provider poner lo siguiente

‘Maatwebsite\Excel\ExcelServiceProvider’, 

En los aliases

‘Excel’ => ‘Maatwebsite\Excel\Facades\Excel’,

3.- actualizar composer con composer update

4.-En el modelo agregar lo siguiente:

//para indicar a qué tabla nos referimos

protected $table=”cajas”;

//para indicarle que elementos importará a la DB

protected $fillable = [‘sector’, ‘variedad’,’tipo’,’cantidad’,’fecha’];

5.- Entrar al controlador  y realizar un servicio que importará los datos

// se usará esta librería

use Maatwebsite\Excel\Facades\Excel;

public function import(Request $request)
{
    //para recibir datos en formato json
    $data = $request->json()->all();
   //variable que recogerá la url
    $url = $data['url'];

  //función para importar los datos
    Excel::load($url, function($reader) {

// realizar un recorrido por todo el archivo e insertar los datos que tengan ciertos atributos como encabezado 
        foreach ($reader->get() as $sector) { 
            CubetasExcel::create([
                'sector' => $sector->sector,
                'empleado_cubeta' =>$sector->empleado_cubeta,
                'peso' =>$sector->peso,
                'fecha_hora' =>$sector->fecha_hora,
            ]);
        }
    });
//retornar toda la información de la tabla para verificar que las inserciones que hayan realizado con éxito 
    return CubetasExcel::all();
}

Ejemplo:

se utilizará el documento Libro2.xlsx

Entraremos a postman y crearemos una respuesta post , en nuestra variable url le mandaremos la ruta para importar los datos que tiene dentro a nuestra tabla cubetas

al enviar la petición nos regresará los datos que se insertarán del documento

Entradas relacionadas

Cors en Laravel

Los Cors son de utilidad para consumir los servicios web por medio de una tecnología Frontend ,  por medio de estos sencillos pasos se podrán consumir y no tener errores al hacerlo. 1.- Crear...

read more

Descubre en 5 minutos las áreas de tu empresa que puedes mejorar