getDelegate() ->getStyle($cellRange) ->applyFromArray($style); } ); Sheet::macro( 'setAutofilter', function ( Sheet $sheet, $cellRange ) { $sheet->getDelegate() ->setAutoFilter($cellRange); } ); Writer::listen( BeforeExport::class, function () { } ); Writer::listen( BeforeWriting::class, function () { } ); Sheet::listen( BeforeSheet::class, function () { } ); Sheet::listen( AfterSheet::class, function ($event) { $event->sheet->freezePane('A2'); $event->sheet->setAutofilter( $event->sheet->calculateWorksheetDimension() ); $event->sheet->styleCells( 'A1:'.$event->sheet->getHighestColumn().'1', [ 'font' => [ 'bold' => true, ], ] ); } ); } /** * Bootstrap any application services. */ public function boot(): void { Model::preventLazyLoading(app()->environment('local')); Stringable::macro('initials', function () { $words = preg_split("/\s+/", $this); $initials = ''; foreach ($words as $w) { $initials .= $w[0]; } return new static($initials); }); Str::macro('initials', function (string $string) { return (string) (new Stringable($string))->initials(); }); Translatable::fallback( fallbackAny: true, ); } }