Server IP : 66.29.132.124 / Your IP : 18.119.157.241 Web Server : LiteSpeed System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : wavevlvu ( 1524) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/wavevlvu/book24.ng/vendor/maatwebsite/excel/src/Mixins/ |
Upload File : |
<?php namespace Maatwebsite\Excel\Mixins; use Illuminate\Contracts\Support\Arrayable; use Illuminate\Support\Collection; use Maatwebsite\Excel\Concerns\Exportable; use Maatwebsite\Excel\Concerns\FromCollection; use Maatwebsite\Excel\Concerns\WithHeadings; use Maatwebsite\Excel\Sheet; class DownloadCollection { /** * @return callable */ public function downloadExcel() { return function (string $fileName, string $writerType = null, $withHeadings = false) { $export = new class($this, $withHeadings) implements FromCollection, WithHeadings { use Exportable; /** * @var bool */ private $withHeadings; /** * @var Collection */ private $collection; /** * @param Collection $collection * @param bool $withHeading */ public function __construct(Collection $collection, bool $withHeading = false) { $this->collection = $collection->toBase(); $this->withHeadings = $withHeading; } /** * @return Collection */ public function collection() { return $this->collection; } /** * @return array */ public function headings(): array { if (!$this->withHeadings) { return []; } $firstRow = $this->collection->first(); if ($firstRow instanceof Arrayable || \is_object($firstRow)) { return array_keys(Sheet::mapArraybleRow($firstRow)); } return $this->collection->collapse()->keys()->all(); } }; return $export->download($fileName, $writerType); }; } }