Files
dailySalePaymentReport/Exports/DailySalePaymentReportExport.php

44 lines
1.4 KiB
PHP

<?php
namespace Modules\DailySalePaymentReportModule\Exports;
use Illuminate\Contracts\View\View;
use Maatwebsite\Excel\Concerns\FromView;
use Maatwebsite\Excel\Concerns\ShouldAutoSize;
use Maatwebsite\Excel\Concerns\WithEvents;
use Maatwebsite\Excel\Events\AfterSheet;
use PhpOffice\PhpSpreadsheet\Style\Alignment;
use PhpOffice\PhpSpreadsheet\Style\Border;
use PhpOffice\PhpSpreadsheet\Style\Fill;
class DailySalePaymentReportExport implements FromView, ShouldAutoSize, WithEvents
{
protected $data;
public function __construct($data)
{
$this->data = $data;
}
public function view(): View
{
return view('dailysalepaymentreportmodule::export', $this->data);
}
public function registerEvents(): array
{
return [
AfterSheet::class => function (AfterSheet $event) {
$sheet = $event->sheet->getDelegate();
$highestColumn = $sheet->getHighestColumn();
$highestRow = $sheet->getHighestRow();
$dataRange = 'A1:' . $highestColumn . $highestRow;
// Set borders for everything
$sheet->getStyle($dataRange)->getBorders()->getAllBorders()->setBorderStyle(Border::BORDER_THIN);
$sheet->getStyle($dataRange)->getAlignment()->setVertical(Alignment::VERTICAL_TOP);
},
];
}
}