1

可能重复:
在 PHP 中为用户创建 CSV 文件

尽管标题看起来很简单,但我的问题有点不同。我需要将我的 php 表的数据导出到 CSV 文件中。

我的页面有简单的表单,允许用户选择日期、其他一些变量,一旦用户提交表单,我就会创建表格。我的表单的操作是在同一页面上。

现在我想添加一个按钮,将数据表导出到 CSV 文件中。我创建了一个 PHP 函数来使用当前变量导出数据。

如果不使用表单,我找不到任何可以调用 php 函数的东西。但是当我使用表单时,我丢失了所有计算,因此我需要再次发布所有内容并一次又一次地进行查询。

还有其他更好的方法来下载表格数据吗?

4

2 回答 2

1

当您希望人们从您的站点下载文件时,您需要将正确的 http 标头和应用程序文件扩展名发送到浏览器,以便它有一点机会下载它。然后你可以逐行回显mysql表。这样您就可以下载千兆字节的数据库。最好的方法是使用 ajax 请求来做到这一点。绝对不需要创建临时文件和下载链接。

这是一个类似问题的链接:Create a CSV File for a user in PHP

如果您不喜欢 echo,您可以打开一个 php 文件处理程序并将 fputcsv 与 header 命令一起使用。请参阅 Xenocross 的答案。

于 2012-07-18T20:42:56.163 回答
0
header ( "Content-Type: application/vnd.ms-excel" );
        header ( "Content-disposition: attachment; filename=Export.csv" );
        header ( "Content-Type: application/force-download" );
        header ( "Content-Transfer-Encoding: binary" );
        header ( "Pragma: no-cache" );
        header ( "Expires: 0" );

        echo ('"data1","data2" \n "data1","data2" ');
于 2012-07-18T21:17:58.613 回答