From f3d2dabb53e82c1e61f10429c742f987c72b390e Mon Sep 17 00:00:00 2001 From: omair saleh Date: Wed, 23 Jun 2021 18:06:01 +0800 Subject: [PATCH] added function to export company details to excel --- .../Exports/Services/ExportsCustomers.php | 51 +++++++++++++++++++ .../ExportCustomersToExcelController.php | 20 ++++++++ composer.json | 1 + routes/web.php | 2 + 4 files changed, 74 insertions(+) create mode 100644 app/Classes/Modules/Exports/Services/ExportsCustomers.php create mode 100644 app/Http/Controllers/Exports/ExportCustomersToExcelController.php diff --git a/app/Classes/Modules/Exports/Services/ExportsCustomers.php b/app/Classes/Modules/Exports/Services/ExportsCustomers.php new file mode 100644 index 00000000..96456eaa --- /dev/null +++ b/app/Classes/Modules/Exports/Services/ExportsCustomers.php @@ -0,0 +1,51 @@ +reference, + $company->name, + count($company->bookings), + $company->bookings()->sum('fix_amount'), + Carbon::parse($company->created_at)->format('d-m-Y') + ]; + } +} \ No newline at end of file diff --git a/app/Http/Controllers/Exports/ExportCustomersToExcelController.php b/app/Http/Controllers/Exports/ExportCustomersToExcelController.php new file mode 100644 index 00000000..90ade160 --- /dev/null +++ b/app/Http/Controllers/Exports/ExportCustomersToExcelController.php @@ -0,0 +1,20 @@ +headers->set('Authorization', 'Bearer '.$token); + return $exportsCustomers->download('customers.csv', Excel::CSV, ['Content-Type' => 'text/csv']); + } +} \ No newline at end of file diff --git a/composer.json b/composer.json index 4d27cd7f..7a3ac9b3 100644 --- a/composer.json +++ b/composer.json @@ -19,6 +19,7 @@ "intervention/image": "^2.5", "laravel/framework": "^7.0", "laravel/tinker": "^2.0", + "maatwebsite/excel": "^3.1", "rinvex/countries": "^6.1", "spatie/laravel-activitylog": "^3.14", "spatie/laravel-permission": "^3.17", diff --git a/routes/web.php b/routes/web.php index eae22852..277cfb8f 100644 --- a/routes/web.php +++ b/routes/web.php @@ -68,3 +68,5 @@ Route::get('/transfer/merge/{marking}', function ($marking) { Route::get('/mail', function () { echo route('login'); }); + +Route::get('/export/customers/f614e339d7058904a831aad742e24d55', 'Exports\ExportCustomersToExcelController@export');