DownloadHelper.php 770 B

12345678910111213141516171819202122232425
  1. <?php
  2. namespace App\Exports;
  3. use Maatwebsite\Excel\Facades\Excel;
  4. trait DownloadHelper
  5. {
  6. protected function downloadExcelHelper($object, string $namePrefix, string $extension = null): \Symfony\Component\HttpFoundation\BinaryFileResponse
  7. {
  8. $extension = $extension ?: "xlsx";
  9. throw_validation_if(! in_array($extension, ['xlsx', 'xls', 'csv']), "Support xlsx, xls, csv formats");
  10. return Excel::download(
  11. $object,
  12. sprintf("%s-%s.%s", $namePrefix, date("YmdHis"), $extension),
  13. match ($extension) {
  14. 'csv' => \Maatwebsite\Excel\Excel::CSV,
  15. 'xlsx' => \Maatwebsite\Excel\Excel::XLSX,
  16. 'xls' => \Maatwebsite\Excel\Excel::XLS,
  17. },
  18. );
  19. }
  20. }