在echo之后在PHP中输出Excel文件

时间:2009-10-27 10:33:55

标签: php mysql caching

HI,

我正在尝试在results.php中显示数据库的结果。在同一个文件中,在当前网页中显示所有数据后,我将根据此结果放置一个按钮来创建文件,以生成Excel文件。

我不知道该怎么做。我试过但它说你必须在任何回声之前强制excel文件下载,但我想显示以及生成一个excel文件。这可能还是我错过了什么?任何人都可以让我知道如何正确地做到这一点?

5 个答案:

答案 0 :(得分:3)

您必须更改页面的标题,因此您必须在新窗口中打开excel文件的输出。

标题类型:“application / vnd.ms-excel”。

如果您想创建“好的”Excel表格,请查看PHPExcel

PHPExcel

答案 1 :(得分:2)

您可能正面临'标头已设置'错误。您需要分离这两个步骤才能实现这一目标。用于显示的一步和用于创建和下载Excel文件的步骤。

另一方面,您也可以组合数据显示和Excel创建,最终显示下载链接。

只是在黑暗中,让我们知道你想走哪条路,我们会帮助你......

答案 2 :(得分:2)

答案 3 :(得分:1)

您可以创建一个{x 3} - 文件,它比xls文件简单得多,最好的部分是excel支持.cvs文件。

然后,当您向用户输出数据时,请使用一个名为$cvs的单独变量,您可以在.cvs内完成输出相同的数据,并在完成后您.cvs-format $cvs到文件。

然后你只需链接到页面底部的那个文件。

尽管如此,您可能需要write

答案 4 :(得分:1)

首先设置标题,然后回显CSV输出:

header("Content-type: application/text/x-csv");
header("Content-disposition: attachment; filename=report.csv");
echo "value1,value2\n";
echo "value3,value4\n";