php Laravel:使用模板文件导出时如何更改startcell

t9eec4r0  于 2023-03-11  发布在  PHP
关注(0)|答案(1)|浏览(84)

Laravel框架5.8.38
电子表格/excel 3.1.19
我正在尝试使用模板文件导出。
下面的代码可以工作,但是“startCell()”似乎不工作。
它总是从导出文件中“A6”开始。
在这种情况下我该怎么办。

class TestExport implements FromQuery, WithEvents, WithCustomStartCell, WithStrictNullComparison
{
    public function setTemplate(string $template_file)
    {
        if (file_exists($template_file)) {
            $this->template_file = $template_file;
        }
        return $this;
    }

    public function startCell(): string
    {
        return 'A3';
    }

    public function registerEvents(): array
    {
        return [
            BeforeExport::class => function (BeforeExport $event) {
                if (is_null($this->template_file)) {
                    return;
                }
                $event->writer->reopen(new LocalTemporaryFile($this->template_file), Excel::XLSX);
                $event->writer->getSheetByIndex(0);

                $this->calledByEvent = true;
                $event->writer->getSheetByIndex(0)->export($event->getConcernable());
                return $event->getWriter()->getSheetByIndex(0);
            },
            BeforeWriting::class => function (BeforeWriting $event) {
                $event->writer->removeSheetByIndex(1);
                return;
            },
        ];
    }
}
avwztpqn

avwztpqn1#

类实现的类具有事件、应该自动调整大小、具有Map、来自集合、具有自定义起始单元格、具有图表、具有标题、具有标题行
选中“自定义起始单元格”

相关问题