在 Laravel 中使用 Laravel Excel 样式化 excel

Styling excel in Laravel with Laravel Excel

学习中Laravel,本人现在Excel出口。

在互联网上搜索Laravel Excel (docs.laravel-excel.com) 似乎是更好的选择,但我发现很难设置样式工作表(颜色、字体、大小等)

我在 AppServiceProvider 中使用全局事件侦听器:

Sheet::listen(AfterSheet::class, function () {
        Sheet::macro('color_tab', function (Sheet $sheet, string $color) {
            $sheet->getDelegate()->getTabColor()->setRGB($color);
        });
});

然后我在导出中使用它 class:

...
public function __construct($color) {
    $this->color = $color;
}
...
use RegistersEventListeners;
...
public static function afterSheet(AfterSheet $event) {
    // this is an error because it's a static method!
    $event->sheet->color_tab($this->color);
}

问题是我必须用构造函数中给定的颜色给选项卡上色,但我不能,因为所有这些 Excel 的样式设置方法都是静态的。

我该怎么做?

有没有其他好的库可以导出Excel?用更简单的方式来做造型。

谢谢!

最后我决定直接使用 PhpSpreadSheet 库而不使用包装器 Laravel Excel