Laravel Excel景观页面

问题描述

我正在使用VBA ServerXMLHTTP https request with self signed certificate与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);
    },];

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...