使用 PHPExcel 构建电子表格后,我无法打开“另存为”或“打开”对话框。我从 PHPExcel 库附带的示例目录中获得了以下代码片段。
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="01simple.xlsx"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
exit;
我的 JavaScript:
$(document).on('submit', '#myForm', function(e) {
$.post('mail.php', $(this).serialize(), function (data) {
$('.signature-field,.notes').hide();
//SUCCESS
$('.successORfail').html(data);
setTimeout(function(){
$(".successORfail").fadeOut("slow", function () {
$(".successORfail").empty().show();
});
}, 4500);
}).error(function() {
alert("Fatal Error: mail.php not found!");
});
e.preventDefault();
});
注意:上面的代码会生成警告消息“Fatal Error: mail.php not found!” 我设置的。除此之外,它不会生成任何错误消息,也不会保存或创建 Excel 文件。
当我使用以下方法时,没有任何标题,excel文件被完美创建,并保存在服务器上,没有任何错误:
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('MyExcel.xlsx');
对于解决此错误的任何帮助,我将不胜感激,因为我已经为此工作了很长时间。
提前谢谢了!