【问题标题】:CSV File Opening Inline In Browser Rather Than Prompting DLCSV 文件在浏览器中打开内联而不是提示 DL
【发布时间】:2012-06-16 16:42:55
【问题描述】:

所以我有一个 php 文件,它使用 fopen、fputcsv、fclose 和一个用于引导窗口打开所述 csv 文件的导出按钮的 javascript 函数创建一个 csv 文件。 csv 文件被正确创建,但是当我点击导出按钮时,它只是在另一个选项卡中打开 csv 文件,其中只有原始数据。我一直在寻找(并期待)是提示下载或打开文件(然后我会用 excel 打开)。如果我保存现在打开的页面,它会在 excel 中正常打开,但它有来自 html 的标记(我不想要),所以我只是想看看是否有任何特别的东西可以解决这个问题。到目前为止,我已经在 ie9 和 firefox 中测试过了。

谢谢!

【问题讨论】:

    标签: php javascript csv export


    【解决方案1】:

    您在发送输出之前是否发送了适当的标头?

    ob_clean();
    header('Content-Type: text/csv');
    header('Content-Disposition: attachment; filename="some_filename_' . date('Ymd') . '.csv"');
    

    【讨论】:

      【解决方案2】:

      将header中的内容类型设置为application/vnd.ms-excel

      header("Content-type: application/vnd.ms-excel");
      

      然后将您的文件发送回浏览器(这将强制它打开 excel)。如果您想为 CSV 发送正确的内容类型,请将其设置为 text/csv

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-10-15
        • 2012-01-18
        • 2014-07-16
        • 2014-12-28
        • 2013-04-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多