Laravel - загрузите PhpSpreadsheet, не сохраняя его раньше
Я нашел этот подход для загрузки 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);
1 ответ
$writer = new Xlsx($spreadsheet);
$writer->save($path = storage_path('hello world.xlsx'));
return response()->download($path)->deleteFileAfterSend();