【问题标题】:Laravel - download PhpSpreadsheet without saving it beforeLaravel - 下载 PhpSpreadsheet 而不保存它
【发布时间】:2018-07-19 19:47:28
【问题描述】:

我找到了这种下载 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);

【问题讨论】:

标签: laravel laravel-5 phpspreadsheet laravel-response


【解决方案1】:
$writer = new Xlsx($spreadsheet);
$writer->save($path = storage_path('hello world.xlsx'));

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

【讨论】:

    猜你喜欢
    • 2020-03-17
    • 2018-12-02
    • 2018-10-23
    • 1970-01-01
    • 2021-09-09
    • 1970-01-01
    • 1970-01-01
    • 2018-10-31
    • 1970-01-01
    相关资源
    最近更新 更多