Laravel Excel 横向页面

Laravel Excel landscape page

我正在使用 Laravel-Excel 使用 Laravel 创建 excel 个文件。我需要将页面方向设置为landscape,但我在官方文档中找不到解决方案。顺便说一句,我正在使用 Blade 创建 excel 文件,这是我的代码。

class ExampleExcel implements FromView, WithEvents {

    public function view(): View {
        return view('excel.main');
    }

    public function registerEvents(): array {
        return [
            AfterSheet::class => function(AfterSheet $event) {
                $event->sheet->getDelegate()->setRightToLeft(true);
            },
        ];
    }

}

提前致谢!

您可以使用 beforeSheet 事件获取电子表格对象,然后在您可以设置方向的事件中。

public static function beforeSheet(BeforeSheet $event)
{
    $event->sheet->getActiveSheet()->getPageSetup()
        ->setOrientation(\PhpOffice\PhpSpreadsheet\Worksheet\PageSetup::ORIENTATION_LANDSCAPE);
}

您可以在 https://docs.laravel-excel.com/3.0/exports/extending.html

阅读有关活动的更多信息

考虑像这样添加 BeforeSheet 事件。

return [
    BeforeSheet::class => function (BeforeSheet $event) {
        $event->sheet
            ->getPageSetup()
            ->setOrientation(\PhpOffice\PhpSpreadsheet\Worksheet\PageSetup::ORIENTATION_LANDSCAPE);
    },
];