php://输出不导出文件(但输入文件名有效)

时间:2017-06-13 03:37:19

标签: php excel

    $writer = new PHPExcel_Writer_Excel5($sheetInfo);
    header('Content-type: application/vnd.ms-excel');
    header('Content-Disposition: attachment; filename="blah.xls"');
    ob_end_clean();
    $writer->save('php://output');

我看到了与如何下载使用 PHPExcel 生成的Excel文件相关的其他帖子。 在我的例子中,如果最后一行是有效的文件名(E.g.$writer->save('blah.xls')),则该文件在项目文件中生成。

仍然,$writer->save('php://output')不会产生任何结果。

我还在new PHPExcel_Writer_Excel5之前添加了以下行,但我仍然没有运气。

    error_reporting(E_ALL);
    ini_set('display_errors', true);
    ini_set('display_startup_errors', true);

还有什么要做的,为了下载文件吗?

任何建议都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

我不熟悉这个库,但您可以保存到文件然后输出:

if ($tempfile = tempnam("/tmp", "xls")) {
    $writer = new PHPExcel_Writer_Excel5($sheetInfo);
    $writer->save($tempfile);
    header('Content-type: application/vnd.ms-excel');
    header('Content-Disposition: attachment; filename="blah.xls"');
    echo file_get_contents($tempfile);
    unlink($tempfile);
} else {
    echo "Unable to save temp file!";
    die;
}