Estoy usando maatwebsite (laravel) para escribir datos de clientes en un archivo de Excel existente y exportarlos dinámicamente desde la base de datos y mi código funciona bien.
Estoy siguiendo el siguiente enlace:
Ahora quiero que se descargue un archivo de Excel que se debe guardar en cualquier directorio como /uploads/customers/text.xlsx
Editar: Ver mi código:
try { Excel::selectSheetsByIndex(1)->load('/public/uploads/new.xlsx', function($reader) { $reader->sheet('sheetname',function($sheet) { $sheet->appendRow('test','test', 'test'); }); }, 'UTF-8')->export('xlsx'); } catch (Exception $ex) { echo $ex->getMessage().$ex->getLine(); return response(Helpers::makeDefaultErrorAjaxResponse()); }¿Cómo puedo hacer eso usando la función maatwebsite, no obtengo ninguna función para hacer esto?
En Laravel Excel (Maatwebsite Excel 3) utiliza el método de store en la fachada de Excel ( Maatwebsite\Excel\Facades\Excel ):
Excel::store(new YourExport(), 'customers/fileName.xlsx', 'local'); El tercer parámetro es un sistema de archivos definido en config/filesystems.php (es opcional). Si la ubicación donde desea almacenar esos archivos de Excel está fuera de los sistemas de archivos public y local predeterminados, puede agregarla al archivo de configuración:
'customer_uploads' => [ 'driver' => 'local', 'root' => '/uploads/customers/', ],Y luego guarde sus archivos de Excel con el tercer parámetro establecido en ese nuevo sistema de archivos:
Excel::store(new YourExport(), 'fileName.xlsx', 'customer_uploads');Lea más aquí: https://docs.laravel-excel.com/3.1/exports/store.html
Puede usar la función ->save para guardar el archivo generado en una carpeta en el servidor. Para obtener más detalles, consultehttps://laravel-excel.maatwebsite.nl/docs/2.1/export/store#docs