【问题标题】:How to download PHP table into CSV file [duplicate]如何将 PHP 表下载到 CSV 文件中[重复]
【发布时间】:2012-07-17 23:43:17
【问题描述】:

可能重复:
Create a CSV File for a user in PHP

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

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

现在我想添加一个按钮,将数据表导出为 CSV 文件。 我创建了一个 PHP 函数来导出带有当前变量的数据。

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

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

【问题讨论】:

标签: php mysql sql export-to-csv


【解决方案1】:

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

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

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

【讨论】:

  • 有这方面的例子或教程吗?
  • 我添加了一个问题的链接。
【解决方案2】:
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" ');

【讨论】:

    猜你喜欢
    • 2023-03-31
    • 2018-03-24
    • 2020-12-29
    • 2013-01-17
    • 1970-01-01
    • 2014-12-29
    • 2015-02-14
    • 2014-06-22
    • 1970-01-01
    相关资源
    最近更新 更多