【问题标题】:PHPExcel download file in browser broken浏览器中的 PHPExcel 下载文件损坏
【发布时间】:2023-02-22 01:42:52
【问题描述】:

我正在尝试使用 PHPexcel 库在浏览器中下载 .xlsx 文件,但下载的文件似乎已损坏

            $objPHPExcel = PHPExcel_IOFactory::load($filename);

            $filenames = explode('/',$filename);

            header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
            header('Content-Disposition: attachment;filename="'.$filenames[(count($filenames)-1)].'"');
            header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

            $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
            $objWriter->save('php://output');
            exit;

如果我打开保存在服务器上的文件,一切都很好。 我的页眉中的内容类型是否错误?

【问题讨论】:

  • phpExcel 死了,Long Live phpSpreadsheet
  • 虽然这看起来像一个 UTF-8 问题
  • @RiggsFolly 我不能使用它。我的公司正在使用 PHP 7.0。在服务器上用 PHPExcel 生成的文件没问题。就在我尝试使用浏览器下载它时,我遇到了这个编码问题

标签: php phpexcel


【解决方案1】:

顶部的四个空白行表明您正在导出 Excel 文件之前的其他字符,因此创建了一个无效文件。检查您的脚本以确保打开的 PHP 标记位于文件的顶部(上面没有空行)并且在 Excel 文件输出之前没有回显语句。

【讨论】:

    猜你喜欢
    • 2017-12-04
    • 1970-01-01
    • 2012-05-12
    • 2021-01-22
    • 2021-07-13
    • 1970-01-01
    • 1970-01-01
    • 2015-07-14
    • 2015-07-16
    相关资源
    最近更新 更多