Я использую пакет MaatWebsite. Вот мой класс экспорта в Excel:
use Illuminate\Contracts\View\View;
use Maatwebsite\Excel\Concerns\FromView;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Maatwebsite\Excel\Concerns\ShouldAutoSize;
use Maatwebsite\Excel\Concerns\WithEvents;
use Maatwebsite\Excel\Events\AfterSheet;
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
use Maatwebsite\Excel\Concerns\WithColumnFormatting;
class ReleaseExportView implements FromCollection, WithHeadings, ShouldAutoSize, WithEvents
{
protected $shipment_id;
function __construct($shipment_id) {
$this->shipment_id = $shipment_id;
}
public function collection()
{
return outbound_detail::where('shipment_id',$this->shipment_id)->get([
'shipment_id', 'sku_parent', 'cases'
]);
}
public function headings(): array
{
return [
'SHIPMENT ID',
'SKU',
'CASES TO BE RELEASED'
];
}
// ...
/**
* @return array
*/
public function registerEvents(): array
{
return [
AfterSheet::class => function(AfterSheet $event) {
$cellRange = 'A1:C1'; // All headers
$event->sheet->getDelegate()->getStyle($cellRange)->getFont()->setSize(14);
},
];
}
}
Теперь, когда я его экспортирую, он просто загружает файл Excel с заданными заголовками и данными, которые извлекаются из БД. Я хочу добавить изображение Lo go вверху (если возможно), заголовок, содержащий информацию о компании, т.е. адрес et c и нижний колонтитул с некоторым текстом.