我见过几个类似的问题,但没有一个可以回答我的问题。
我有一个导出到 CSV 按钮,它可以将我的数据库中的结果导出到 CSV。
我不想保存文件,但我只想使用标题将回显内容导出到一个文件,然后应该在 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;