首页 > 解决方案 > 使用 Laravel 5.5 使用带有默认数据的 PhpSpreadsheet 创建 Excel 文件

问题描述

我正在尝试使用 laravel 中的 PhpSpreadsheet 下载带有预填充数据的 excel 文件。但是我下载了空文件。这是我的代码。

use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->setCellValue('B1','testing');

$writer = new Xlsx($spreadsheet);
$filename = 'tessa';

header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="'. $filename .'.Xlsx"');
header('Cache-Control: max-age=0');

$writer->save($filename);

我试过 dd($sheet) 在这里它看起来如何,它包含我的数据;

在此处输入图像描述

文件下载但空文件。谁能告诉我如何解决这个问题?

标签: phplaravel-5phpspreadsheet

解决方案


你真的不需要设置这些标题。但如果必须,请编辑filename为:

$filename = 'tessa.xlsx';

推荐阅读