PHP8.0版本导出excel失败
环境:fastadmin框架,不是原版接手的项目。PHP8.0,mysql5.7.
code
// 创建一个新的 Spreadsheet 对象
$spreadsheet = new Spreadsheet();
$worksheet = $spreadsheet->getActiveSheet();// 设置表头
$worksheet->setCellValue('A1', 'ID');
$worksheet->setCellValue('B1', 'Name');
$worksheet->setCellValue('C1', 'Email');
$worksheet->setCellValue('D1', 'Created At');$rowIndex=2;$worksheet->setCellValue('A' . $rowIndex, 'id');
$worksheet->setCellValue('B' . $rowIndex, 'name');
$worksheet->setCellValue('C' . $rowIndex, 'email');
$worksheet->setCellValue('D' . $rowIndex, 'created_at');// 设置 HTTP 头信息
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="exported_data.xlsx"');
header('Cache-Control: max-age=0');// 保存到输出流
$writer = new Xlsx($spreadsheet);
$writer->save('php://output');
失败原因分析:只有最后一步$writer->save 失败,由于php8.0版本缺少8.2版本的一些新特性导致失败,可以尝试升级或者回退版本