CSV文件未在Excel中正确加载

时间:2013-06-15 12:00:00

标签: php excel csv

我见过几个类似的问题,但没有一个能回答我的问题。

我有一个导出到CSV按钮,它将我的数据库中的结果导出为CSV。

我不想保存文件,但我只想使用标头将 echo 内容导出到一个文件中,然后在Excel(或类似产品)中打开该文件。

一切正常但Excel似乎不会分隔值,而是显示1行中所有行,并且逗号完整。我在其他地方找到了一个解决方案,我应该在第一行添加“sep =,\ r \ n”以告诉Excel使用逗号作为分隔符,然后使其工作得很好;但是,在其他产品中,它现在在第一行显示sep =,并继续输出的剩余部分。

以下是我正在使用的代码:

 header("Expires: 0");
 header("Cache-control: private");
 header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
 header("Content-Description: File Transfer");
 header("Content-Type: application/vnd.ms-excel");
 header("Content-disposition: attachment; filename=export.csv");
 echo "sep=,\r\n"; // This makes it work in excel but fails in other products such as openoffice
 echo "this,is,just,a,test\r\n";
 exit;

1 个答案:

答案 0 :(得分:0)

正如Mark Ba​​ker建议的那样,当稀释计由区域设置设置时,我将其更改为;它就像一个魅力:)谢谢你!