使用PHPSpreadsheet保存XLSX格式可以正常运行默认代码
$writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);
$writer->save("filename.xlsx");
但是如果我想让用户使用
选择目标目录header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="filename.xlsx"');
header('Cache-Control: max-age=0');
$writer = IOFactory::createWriter($spreadSheet, 'Xlsx');
$writer->save('php://output');
文件保存确定,但Excel 2016不想打开它。 Excel返回以下错误 Excel Error
我浏览了所有文档和帖子,但是找不到解决方案。
谢谢!
编辑:以防万一,此solution对我不起作用。
编辑2:提供的示例提供了简单下载Xlsx完美运行的功能,但是当对电子表格进行复制/粘贴时,Chrome给了我一个
Resource interpreted as Document but transferred with MIME type application/octet-stream
编辑3:使用
ob_end_flush();
清除代码中所有残留的标题。
文件现在保存确定,但是在Excel中打开时需要修复。为什么?
谢谢
答案 0 :(得分:0)
解决方案:
来自PhpSpreadsheet的错误。
使用时
header("Content-Type: application/vnd.ms-excel");
即Excel的兼容模式,文件将打开。