Cuadro de autor


Discuta su proyecto

Sobre Nosotros

Somos un socio de Microsoft Gold con presencia en los Estados Unidos y la India. Somos un proveedor de servicios de TI dinámico y profesional que sirve a empresas y nuevas empresas, ayudándolas a enfrentar los desafíos de la economía global. Ofrecemos servicios en el área de Consulta e implementación CRM, Desarrollo de aplicaciones, Desarrollo de aplicaciones móviles, Desarrollo web y Desarrollo Offshore.

laravel 8 importar exportar archivo de Excel a la base de datos

Laravel 8: tutorial de importación y exportación a base de datos de Excel y CSV

By Pooja sharma / 4 de febrero de 2022

el 28 de julio de 2022
Laravel 8: tutorial de importación y exportación a base de datos de Excel y CSV

La mayoría de las veces que trabaja en cualquier aplicación de comercio electrónico o cualquier tipo de ERP, necesita importar y exportar archivos de Excel para los datos. Esta es una funcionalidad muy común en cualquier aplicación web. Si para cualquier aplicación de comercio electrónico desea agregar productos a granel al mismo tiempo, la entrada manual de estos productos y sus datos apropiados llevará mucho tiempo para insertarlos en la base de datos.

Además, por otro lado, si necesita descargar algún informe como semanal/diario/mensual informe de ventas, luego puede exportar datos a excel. 

Laravel Excel está desarrollado como un Laravel-flavored hoja de calculo php, es un contenedor manejable e inteligente alrededor de la hoja de cálculo Php para agilizar las importaciones y exportaciones. Laravel Excel tiene las siguientes características:

  • Exporte sin esfuerzo colecciones a Excel.
  • Exporte consultas con fragmentación automática para un rendimiento más satisfactorio.
  • Exportaciones en cola para un mejor rendimiento.
  • Exporte sin problemas las vistas de Blade a Excel.
  • Importe eficientemente a las colecciones.
  • Lea el archivo de Excel en fragmentos.
  • Administre las inserciones de importación en lotes.

Hay momentos en los que necesitamos nuestros datos en papel o en formatos más fáciles de usar, uno de los cuales es una hoja de cálculo de Excel, y también ayuda a cargar una gran cantidad de datos en la base de datos a través del formato CSV.

Entonces, en este blog, compartiremos contigo cómo importar y exportar un archivo de Excel a la base de datos en Laravel 8 y te ayudaremos a crear tu propia funcionalidad de importación/exportación en Laravel.

Primero, debe configurar Laravel 8 en su sistema, que puede obtener aquí (enlace a la publicación).

Entonces, después de tener la configuración de Laravel, debe seguir los pasos a continuación:

Paso 1: Instalar el paquete Laravel Excel

Instale el paquete Laravel Excel, que simplemente puede hacer con el siguiente comando del compositor:

el compositor requiere maatwebsite/excel

Paso 2. Regístrese arriba del servicio de paquetes en Proveedores y Alias ​​para eso tiene que ir raíz/configuración directorio y abierto app.php archivo, pegue las siguientes líneas en el archivo del proveedor y sección de alias:

'providers' => [
       
        Maatwebsite\Excel\ExcelServiceProvider::class,
        /*
    ],

    'aliases' => [      
        
        'Excel' => Maatwebsite\Excel\Facades\Excel::class,
    ],

Paso 3: Instale la paquete laravel excel ejecutando el comando de publicación de vendedor artesanal:

proveedor artesanal de php: publicar --provider="Maatwebsite\Excel\ExcelServiceProvider"

Paso 4: Ahora necesitas un tabla de base de datos desde el que desea importar o exportar sus datos, lo explicaremos con mi tabla ya existente 'personas".

Ahora creará una clase de importación y exportación para el paquete de Excel. Primero, crearemos una clase de importación usando artesano.

Fabricación artesanal PHP: importar EmpleadoImportar –model=Emolyee

El comando anterior creará un ImportaciónEmpleado.php archivo dentro del app/importaciones/directorio que se verá algo como esto:

Cree una clase de exportación usando: Fabricación artesanal de PHP: exportar EmployeeExport --model=Employee

Después de esto, la clase de exportación se creará en: app/Exportaciones/EmpleadoExportar.php que se verá algo como esto:

Aquí hemos usado una clase adicional de Sitio web principal\Excel que sea ConEncabezados, que le permitirá exportar un archivo de Excel con los encabezados que hemos definido dentro del encabezados () método de Clase WithHeadings, hay muchas otras clases que puedes encontrar en Carpeta Maatwebsite\Excel\Concerns.

También, lea: CSS GRID Vs FLEXBOX, elija entre Grid y Flex

Paso 5: Crear una ruta para impuerto-exportación

Route::get('file-import-export', [EmployeesController::class, 'fileImportExport'])->name('file-import-export');
Route::post('file-import', [EmployeesController::class, 'fileImport'])->name('file-import');
Route::get('file-export', [EmployeesController::class, 'fileExport'])->name('file-export');

Paso 6: Agregar funciones de controlador en EmpleadosControlador:

public function fileImportExport()
    {
       return view('file-import');
    }
   
    /**
    * @return \Illuminate\Support\Collection
    */
    public function fileImport(Request $request) 
    {
        Excel::import(new ImportEmployee, $request->file('file')->store('temp'));
        return back();
    }

    /**
    * @return \Illuminate\Support\Collection
    */
    public function fileExport(Request $request) 
    {        
        return Excel::download(new ExportEmployee, 'employee-collection.xlsx');
    }

Y su archivo de controlador se verá así:

Paso 7: El siguiente paso será crear una vista para la importación de archivos: Pongámosle el nombre “archivo-importar.blade.php.

Agregue el siguiente código al archivo de vista:

<form action="{{ route('file-import') }}" method="POST" enctype="multipart/form-data">
  @csrf
    <div class="form-group mb-4" style="max-width: 500px; margin: 0 auto;">
         <div class="custom-file text-left">
         	<input type="file" name="file" class="custom-file-input" id="customFile">
         	<label class="custom-file-label" for="customFile">Choose file</label>
         </div>
   </div>
          <button class="btn btn-primary">Import data</button>
         <a class="btn btn-success" href="{{ route('file-export') }}">Export data</a>
 </form>

Paso 8: El paso final será ejecutar “servicio artesanal phpcomando ” y use el url '/archivo-importación-exportación'

También, lea: 7 razones para tratar la arquitectura de aplicaciones web con seriedad

Conclusión

En última instancia, ahora hemos completado la funcionalidad de exportación e importación de Archivos de Excel en Laravel 8. Esto es bastante simple para hacer una descarga con el archivo de Excel. Para importar los datos utilizando la hoja de Excel, no es complicado importar y extraer las filas.

Después de extraer las filas, debe insertarlas en la tabla de la base de datos. Entonces, eso es todo por este tutorial de Excel de importación y exportación en Laravel. También puede usar el paquete Laravel-excel para crear fácilmente otros formatos de archivo como tsv, xlsx, pdf, etc. funciones de exportación o importación en Laravel 8.

[sc name = "Desarrollo de aplicaciones móviles"] [add_newsletter] [add_related_page_diff_contents blog_cat = "web-application"]

La mayoría de las veces que trabaja en cualquier aplicación de comercio electrónico o cualquier tipo de ERP, necesita importar y exportar archivos de Excel para los datos. Esta es una funcionalidad muy común en cualquier aplicación web. Si para cualquier aplicación de comercio electrónico desea agregar productos a granel al mismo tiempo, la entrada manual de estos productos y sus datos apropiados llevará mucho tiempo para insertarlos en la base de datos.

Además, por otro lado, si necesita descargar algún informe como semanal/diario/mensual informe de ventas, luego puede exportar datos a excel. 

Laravel Excel está desarrollado como un Laravel-flavored hoja de calculo php, es un contenedor manejable e inteligente alrededor de la hoja de cálculo Php para agilizar las importaciones y exportaciones. Laravel Excel tiene las siguientes características:

  • Exporte sin esfuerzo colecciones a Excel.
  • Exporte consultas con fragmentación automática para un rendimiento más satisfactorio.
  • Exportaciones en cola para un mejor rendimiento.
  • Exporte sin problemas las vistas de Blade a Excel.
  • Importe eficientemente a las colecciones.
  • Lea el archivo de Excel en fragmentos.
  • Administre las inserciones de importación en lotes.

Hay momentos en los que necesitamos nuestros datos en papel o en formatos más fáciles de usar, uno de los cuales es una hoja de cálculo de Excel, y también ayuda a cargar una gran cantidad de datos en la base de datos a través del formato CSV.

Entonces, en este blog, compartiremos contigo cómo importar y exportar un archivo de Excel a la base de datos en Laravel 8 y te ayudaremos a crear tu propia funcionalidad de importación/exportación en Laravel.

Primero, debe configurar Laravel 8 en su sistema, que puede obtener aquí (enlace a la publicación).

Entonces, después de tener la configuración de Laravel, debe seguir los pasos a continuación:

Paso 1: Instalar el paquete Laravel Excel

Instale el paquete Laravel Excel, que simplemente puede hacer con el siguiente comando del compositor:

el compositor requiere maatwebsite/excel

Paso 2. Regístrese arriba del servicio de paquetes en Proveedores y Alias ​​para eso tiene que ir raíz/configuración directorio y abierto app.php archivo, pegue las siguientes líneas en el archivo del proveedor y sección de alias:

'providers' => [
       
        Maatwebsite\Excel\ExcelServiceProvider::class,
        /*
    ],

    'aliases' => [      
        
        'Excel' => Maatwebsite\Excel\Facades\Excel::class,
    ],

Paso 3: Instale la paquete laravel excel ejecutando el comando de publicación de vendedor artesanal:

php proveedor artesanal: publicar –proveedor =”Maatwebsite\Excel\ExcelServiceProvider”

Paso 4: Ahora necesitas un tabla de base de datos desde el que desea importar o exportar sus datos, lo explicaremos con mi tabla ya existente 'personas".

Ahora creará una clase de importación y exportación para el paquete de Excel. Primero, crearemos una clase de importación usando artesano.

Fabricación artesanal PHP: importar EmpleadoImportar –model=Emolyee

El comando anterior creará un ImportaciónEmpleado.php archivo dentro del app/importaciones/directorio que se verá algo como esto:

Cree una clase de exportación usando: Fabricación artesanal de PHP: exportar EmployeeExport –model=Employee

Después de esto, la clase de exportación se creará en: app/Exportaciones/EmpleadoExportar.php que se verá algo como esto:

Aquí hemos usado una clase adicional de Sitio web principal\Excel que sea ConEncabezados, que le permitirá exportar un archivo de Excel con los encabezados que hemos definido dentro del encabezados () método de Clase WithHeadings, hay muchas otras clases que puedes encontrar en Carpeta Maatwebsite\Excel\Concerns.

También, lea: CSS GRID Vs FLEXBOX, elija entre Grid y Flex

Paso 5: Crear una ruta para impuerto-exportación

Route::get('file-import-export', [EmployeesController::class, 'fileImportExport'])->name('file-import-export');
Route::post('file-import', [EmployeesController::class, 'fileImport'])->name('file-import');
Route::get('file-export', [EmployeesController::class, 'fileExport'])->name('file-export');

Paso 6: Agregar funciones de controlador en EmpleadosControlador:

public function fileImportExport()
    {
       return view('file-import');
    }
   
    /**
    * @return \Illuminate\Support\Collection
    */
    public function fileImport(Request $request) 
    {
        Excel::import(new ImportEmployee, $request->file('file')->store('temp'));
        return back();
    }

    /**
    * @return \Illuminate\Support\Collection
    */
    public function fileExport(Request $request) 
    {        
        return Excel::download(new ExportEmployee, 'employee-collection.xlsx');
    }

Y su archivo de controlador se verá así:

Paso 7: El siguiente paso será crear una vista para la importación de archivos: Pongámosle el nombre “archivo-importar.blade.php.

Agregue el siguiente código al archivo de vista:

<form action="{{ route('file-import') }}" method="POST" enctype="multipart/form-data">
  @csrf
    <div class="form-group mb-4" style="max-width: 500px; margin: 0 auto;">
         <div class="custom-file text-left">
         	<input type="file" name="file" class="custom-file-input" id="customFile">
         	<label class="custom-file-label" for="customFile">Choose file</label>
         </div>
   </div>
          <button class="btn btn-primary">Import data</button>
         <a class="btn btn-success" href="{{ route('file-export') }}">Export data</a>
 </form>

Paso 8: El paso final será ejecutar “servicio artesanal phpcomando ” y use el url '/archivo-importación-exportación'

También, lea: 7 razones para tratar la arquitectura de aplicaciones web con seriedad

Conclusión

En última instancia, ahora hemos completado la funcionalidad de exportación e importación de Archivos de Excel en Laravel 8. Esto es bastante simple para hacer una descarga con el archivo de Excel. Para importar los datos utilizando la hoja de Excel, no es complicado importar y extraer las filas.

Después de extraer las filas, debe insertarlas en la tabla de la base de datos. Entonces, eso es todo por este tutorial de Excel de importación y exportación en Laravel. También puede usar el paquete Laravel-excel para crear fácilmente otros formatos de archivo como tsv, xlsx, pdf, etc. funciones de exportación o importación en Laravel 8.

Servicios de desarrollo de aplicaciones móviles

¿Quiere aprovechar la tecnología móvil para su negocio? Cynoteck es un proveedor integral de servicios de desarrollo de aplicaciones móviles. Brindamos servicios de desarrollo de aplicaciones para iOS y Android para que pueda llegar a su público objetivo en cualquier dispositivo.



invitado
0 Comentarios
Comentarios en línea
Ver todos los comentarios
0
Me encantaría tus pensamientos, por favor comenta.x