我正在尝试从我的网页创建一个CSV文件,我遇到了换行/ carraige返回的问题。
我正在通过Javascript构建CSV字符串,然后添加' \ u000A' +" \ u000D"到每一行的末尾。
然后我通过AJAX将我的CSV sting传递给PHP程序。我创建文件的PHP逻辑是: -
header('Content-Disposition: attachment; filename="effortTool.csv"');
header('Content-Type: text/plain');
header('Content-Length: ' . strlen($content));
当我查看文件时,它不包含任何换行/ carraige返回。
如果我将CSV字符串输出为" alert",我可以看到它正在进行核心格式化。这告诉我正在添加换行符,但是当作为文件下载时会丢失。
有什么想法吗?
由于
马丁
答案 0 :(得分:3)
使用以下代码生成CSV
文件: -
ob_clean();
header("Content-type: application/vnd.ms-excel");
header( "Content-disposition: filename=effortTool.csv");
header('Content-Length: ' . strlen($content));
print $content;
exit;
这对我有用,希望它对你也有用。
答案 1 :(得分:1)
您将文件内容放在Content-Length类型的元数据上,这是错误的。