【问题标题】:phpexcel file download issuephpexcel文件下载问题
【发布时间】:2017-03-29 22:29:45
【问题描述】:

我正在使用 phpexcel 的05featuredemo.php 示例,它是从codeplex 最新构建的PHPExcel_1.8.0_doc 由MarkBaker (SO) 下载的

我需要看的点​​是

$objWriter->save(str_replace('.php', '.xls', __FILE__));

以上用于将文件保存在脚本位置,但我怎样才能让它变得简单可下载。

我试过了

$objWriter->save('php://output');

但它没有下载生成的文件。我该怎么做,还有什么我应该做的吗?

【问题讨论】:

  • 正常保存文件有用吗?当您尝试php://output 时,发生了什么?您在浏览器中看到什么了吗,您收到错误了吗?
  • 我尝试了php://output,但什么也没发生。现在我正在尝试使用标题,谢谢

标签: php phpexcel


【解决方案1】:

如果您要向浏览器发送除直接 HTML 以外的任何内容,则需要发送适当的标头,以便浏览器知道如何处理它。

开发者文档中有一个名为 Redirect output to a client’s web browser 的部分对此进行了解释,并且在 01simple-download-xls.php 和 01simple-download-xlsx.php 等示例中也进行了演示

【讨论】:

  • 谢谢我正在尝试发送标题
  • 我尝试使用 将输出重定向到客户端的 Web 浏览器 (Excel5),如 01simple-download-xls.php 中所述,但文件已下载要求 创建新的 PHPExcel 对象 和里面不可读的文本,:( 这是我的代码 paste.ofcode.org/tuPYZRyc8zbSBhrjCCZWkz
  • 如果您查看05featuredemo.inc.php 文件,您会发现它在不同点将信息回显到屏幕上......请阅读我引用的文档部分中的警告说明任何正在回显的信息....然后注释掉05featuredemo.inc.php 中的所有回显语句并重试
【解决方案2】:

如果你想自己给名字,那么你可以像我在$a中指定的那样指定。

我想使用调用此函数的文件名,因此我将该名称连接到 excel 文件名,并将当前日期附加到文件名。

注意:LogReport 是我的文件将被下载的文件夹。

self::$objPHPExcel = new PHPExcel();
$objWriter = PHPExcel_IOFactory::createWriter(self::$objPHPExcel, 'Excel2007');
        $a = 'Log' . self::$filename . date("Y-m-d") . '.xlsx';
        $objWriter->save(__DIR__ . '/LogReport/' . $a);

【讨论】:

    猜你喜欢
    • 2014-12-03
    • 2015-05-15
    • 2017-12-04
    • 1970-01-01
    • 2012-02-17
    • 2013-09-16
    • 2015-08-02
    • 1970-01-01
    • 2012-01-23
    相关资源
    最近更新 更多