0 レビュー
1 回答
php-Laravel Excel 3.0でシート(登録)イベントの後に登録する方法
以前はlaravelexcelバージョン2.1を使用しました。バージョン2.0では、セルの設計は非常に簡単でした。だから私はlaravelの最新版(5.5)で新しいプロジェクトを始めました そして、このバージョンのlaravelではlaravelexcelバージョン2.0を使用できないことを知ってショックを受けました。最新バージョンのlaravel-excel3.1をインストールしましたが、シートのスタイルはバージョンlarave-excelバージョン2.0とはまったく異なります。ドキュメントを調べて、このカスタムマクロを見つけてシートのスタイルを設定しましたが、機能しませんでした。
使用されているlaravelExcelパッケージのリンクは次のとおりです
これが私のエクスポートクラスコードです
エクスポートクラス
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\Exportable;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Maatwebsite\Excel\Concerns\ShouldAutoSize;
use Maatwebsite\Excel\Concerns\AfterSheet;
use Maatwebsite\Excel\Concerns\WithEvents;
class CollectionExport implements WithEvents,FromCollection, WithHeadings, ShouldAutoSize
{
use Exportable;
/*************** Alternate Method **************************/
// public function registerEvents(): array
// {
// return [
// AfterSheet::class => function(AfterSheet $event) {
// $cellRange = 'A1:W1'; // All headers
// $event->sheet->getDelegate()->getStyle($cellRange)->getFont()->setSize(14);
// },
// ];
// }
public function registerEvents(): array
{
return [
BeforeExport::class => function(BeforeExport $event) {
$event->writer->setCreator('Patrick');
},
AfterSheet::class => function(AfterSheet $event) {
$event->sheet->setOrientation(\PhpOffice\PhpSpreadsheet\Worksheet\PageSetup::ORIENTATION_LANDSCAPE);
$event->sheet->styleCells(
'A1:W1',
[
'borders' => [
'outline' => [
'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THICK,
'color' => ['argb' => 'FFFF0000'],
],
]
]
);
},
];
}
public function collection()
{
return collect([
[
'name' => 'Povilas',
'surname' => 'Korop',
'email' => '[email protected]',
'twitter' => '@povilaskorop'
],
[
'name' => 'Taylor',
'surname' => 'Otwell',
'email' => '[email protected]',
'twitter' => '@taylorotwell'
]
]);
}
public function headings(): array
{
return [
'Name',
'Surname__',
'Email',
'Twitter',
];
}
}
特定のルートでこれを呼んでいます
return Excel::download(new CollectionExport(), 'export.xlsx');
このregisterEventsメソッドは、作成中のExcelファイルには影響しません。 私は何かが足りないのですか、それとも間違っていますか? 前もって感謝します !!! 追伸:-スタイリングの両方の方法を試しましたが、いずれもExcelファイルのスタイルに影響しませんでした
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。