基本PHPExcel输出Excel文件


Basic PHPExcel output Excel File

我使用PHPExcel并执行他们的示例代码显示在网站上:https://phpexcel.codeplex.com/wikipage?title=Examples&referringTitle=Home

然而,我可以看到代码运行良好,因为我看到这个"消息"

10:50:52创建新的PHPExcel对象10:50:52设置属性10:50:52添加一些数据10:50:52重命名表10:50:52写入Excel2007格式10:50:52完成写入文件

但是我没有选择下载任何文件?我如何触发他们让我下载文件?

如果你看一下发行版的/Examples文件夹或github repo中的一些示例,你会发现许多示例的名称如01simple-download-xls.php01simple-download-xlsx.php,演示如何将生成的Excel文件发送到浏览器。

阅读文档也是一个好主意,它也解释了如何做到这一点,例如,开发者文档的4.6.40节,标题为Redirect output to a client’s web browser

该代码向浏览器输出一些文本,并将Excel文件保存到磁盘($objWriter->save)。在任何情况下,它都不会做任何会触发下载的事情。

如果你想下载文件,你有两个选择:

  1. 打印文件链接(在调用save之后),例如echo '<a href="' . str_replace('.php', '.xlsx', __FILE__) . '">Download Excel file</a>';。你可以点击这个链接下载文件。
  2. 注释掉现有的echo语句,并在脚本底部添加:echo file_get_contents(str_replace('.php', '.xlsx', __FILE__));。这将输出文件的内容到浏览器,并应该给你选择下载文件或打开它在Excel(或LibreOffice或任何程序你已经注册的Excel文件)。
这个例子是在2007年写的,所以可能不适用于最新的PHPExcel版本。