Php 在csv文件单元中打印新行

Php 在csv文件单元中打印新行,php,export-to-csv,Php,Export To Csv,我正在用php生成一个CSV文件。我需要在单元格内的新行中打印文本(我可以在excel中使用Ctrl+Enter或Alt+Enter进行打印)。为此,我尝试使用'\n','\r',但没有任何帮助。我怎样才能做到这一点 我正在使用yii扩展生成csv 我想要这样的输出: ID Value 1 A B 2 C 3 E FF G 4 X 试试这个 "\n" 在双引号内在单元格值内使用“\n”(用“包装)和“\r\n”作为记录结束标记。如果单元格条目包含多行

我正在用php生成一个CSV文件。我需要在单元格内的新行中打印文本(我可以在excel中使用Ctrl+Enter或Alt+Enter进行打印)。为此,我尝试使用
'\n'
'\r'
,但没有任何帮助。我怎样才能做到这一点

我正在使用yii扩展生成csv

我想要这样的输出:

ID  Value
1   A
    B
2   C
3   E
    FF
    G
4   X
试试这个

"\n"
在双引号内

在单元格值内使用
“\n”
(用
包装)和
“\r\n”
作为记录结束标记。如果单元格条目包含多行,则必须将其括在

或(使用变量)

(使用
fputcsv()

或者(使用
fputcsv()
并使用变量)


您是否尝试过使用define PHP_EOL?否。结果是
芬兰:03/07/2013“\n”爱尔兰:03/07/2013“\n”丹麦:03/07/2013
他指的是整个字符串周围的双引号,而不是简单的引号。以防有人想使用带字符串数组的内爆来获取换行符。使用
内爆(PHP_EOL)
就可以了。我相信这是为了行的结尾,而不是在Excel@Laurence-你真的试过了吗?是的,我也有同样的问题,试过各种方法。“\n”在行的末尾为我添加新行(因此在excel中开始新行),而不是在单元格值本身中添加新行。因此,在excel或数字中打开csv时,我们不需要一行,而需要一个单元格内的换行符。也许它不起作用,因为我在Mac电脑上使用数字。仔细检查你的代码时,你会说这个“\”E\nF\nG\”,所以在封闭前转义斜杠。这对变量如何起作用,例如,$value1是你的E,$value2是你的F等等?你能扩展/编辑你的答案以更清楚,因为它首先声明只使用“\n”“这是行不通的,因为它本身就有了一条新的路线。也许这个解决方案可以奏效,我不确定如何用变量来表示你的答案。e、 g.这样行吗?“\“$value1\n$value2\n$value3\”,如果是这样,第一行是否可以更改为清晰,因为它不清晰。对,这对我有效$cellvalue=”。$value1。“\n”。$value2。“\n”。$value3。”;请注意在整个内容周围加上“.”。您能更新您的帖子以反映这一点吗?基本上“\n”本身可以工作,但只有在将整个内容另外加上“\n”时才能工作。现在我知道了,我想这就是你的意思,但显然我不清楚,它需要这个使用变量的代码示例(而不是像你这样的纯文本)。这是我不清楚的一点,以及为什么我不能让它工作。那我就可以投票了!
$fh = fopen('test1.csv', 'w+');
fwrite($fh, "sep=\t" . "\r\n");
fwrite($fh, 'A' ."\t" . 'B' . "\t" . 'C' . "\r\n");
fwrite($fh, 'D' ."\t" . "\"E\nF\nG\"" . "\t" . 'H' . "\r\n");
fclose($fh);
$varA = 'A';
$varB = 'B';
$varC = 'C';
$varD = 'D';
$varE = 'E';
$varF = 'F';
$varG = 'G';
$varH = 'H';
$fh = fopen('test2.csv', 'w+');
fwrite($fh, "sep=\t"."\r\n");
fwrite($fh, $varA . "\t" . $varB . "\t" . $varC . "\r\n");
fwrite($fh, $varD . "\t" . "\"$varE\n$varF\n$varG\"" . "\t" . $varH . "\r\n");
fclose($fh);
$fh = fopen('test3.csv', 'w+');
fwrite($fh, "sep=\t" . "\r\n");
fputcsv($fh, array('A', 'B', 'C'), "\t");
fputcsv($fh, array('D', "E\nF\nG", 'H'), "\t");
fclose($fh);
$varA = 'A';
$varB = 'B';
$varC = 'C';
$varD = 'D';
$varE = 'E';
$varF = 'F';
$varG = 'G';
$varH = 'H';
$fh = fopen('test4.csv', 'w+');
fwrite($fh, "sep=\t" . "\r\n");
fputcsv($fh, array($varA, $varB, $varC), "\t");
fputcsv($fh, array($varD, "$varE\n$varF\n$varG", $varH), "\t");
fclose($fh);