Laravel - 在不保存文件的情况下下载PhpSpreadsheet

3
我找到了一种下载csv文件的方法。
\Response::macro('attachment', function ($content) {

    $headers = [
        'Content-type'        => 'text/csv',
        'Content-Disposition' => 'attachment; filename="download.csv"',
    ];

    return \Response::make($content, 200, $headers);

});

return response()->attachment($content);

然而,我如何在PhpSpreadsheet中使用它,以便可以下载而不保存它?有没有办法实现这一点?

$header = array("Customer Number", "Customer Name", "Address", "City", "State", "Zip");
$spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->fromArray([$header], NULL, 'A1');

$writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);
$writer->save(storage_path('app/' . "abc.xlsx"));

return response()->attachment($writer);

3
可能是Download PhpSpreadsheet file without save it before的重复问题。 - sulaiman sudirman
1个回答

2
$writer = new Xlsx($spreadsheet);
$writer->save($path = storage_path('hello world.xlsx'));

return response()->download($path)->deleteFileAfterSend();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接