2

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

谢谢!

4

2 回答 2

3

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

ob_clean();
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="some_filename_' . date('Ymd') . '.csv"');
于 2012-06-13T17:01:36.000 回答
0

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

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

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

于 2012-06-13T16:59:17.730 回答