【问题标题】:Php spreadsheet downlod is giving garbage collect errorPhp 电子表格下载出现垃圾收集错误
【发布时间】:2023-02-07 10:10:18
【问题描述】:

我正在使用"phpoffice/phpspreadsheet": "^1.25", 下载 Excel 文件。

这是我使用的代码。

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
use Symfony\Component\HttpFoundation\StreamedResponse;

class ExcelDownload
{
    public function export(): StreamedResponse
    {
        $spreadSheet = new Spreadsheet();
        $sheet = $spreadSheet->getActiveSheet();
        $sheet->setCellValue('A1', 'Order Export');
        $sheet->getStyle('A1')->getFont()->setSize(16)->setBold(true);

        $writer = new Xlsx($sheet);

        $response = new StreamedResponse();
        $response->headers->set('Content-Type', 'application/vnd.ms-excel');
        $response->headers->set(
            'Content-Disposition',
            'attachment;filename=OrderExport.xlsx'
        );
        $response->headers->set(
            'Cache-Control',
            'max-age=0'
        );

        $response->setCallback(function () use ($writer): void {
            $writer->save('php://output');
        });

        return $response;
    }
}

我收到此错误:

Fatal error: Declaration of PhpOffice\PhpSpreadsheet\Worksheet\Worksheet::garbageCollect() must be compatible with PhpOffice\PhpSpreadsheet\Spreadsheet::garbageCollect(): void

有人可以帮忙吗?

谢谢。

【问题讨论】:

    标签: php-8.1 phpoffice-phpspreadsheet symfony5.4


    【解决方案1】:

    为了xlsx,我用Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

    为了xls,我用Content-Type: application/vnd.ms-excel

    为了PDF格式,我用Content-type: application/pdf

    希望能帮助到你!

    【讨论】:

      猜你喜欢
      • 2018-12-30
      • 2023-03-20
      • 2011-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-21
      • 2016-04-03
      相关资源
      最近更新 更多