CSV文件在浏览器中打开内联而不是提示DL

时间:2012-06-13 16:57:29

标签: php javascript csv export

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

谢谢!

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:0)

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

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

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