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

Kha*_*eel 14 php export-to-csv

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

我正在使用yii扩展ECSVExport来生成csv.

我想要一个像这样的输出:

ID  Value
1   A
    B
2   C
3   E
    FF
    G
4   X
Run Code Online (Sandbox Code Playgroud)

Mar*_*ker 19

"\n"在单元格值内使用(包装")和"\r\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);
Run Code Online (Sandbox Code Playgroud)

或(使用变量)

$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);
Run Code Online (Sandbox Code Playgroud)

(使用fputcsv())

$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);
Run Code Online (Sandbox Code Playgroud)

或(使用fputcsv()和使用变量)

$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);
Run Code Online (Sandbox Code Playgroud)


Sam*_*oud 18

试试这个

"\n"
Run Code Online (Sandbox Code Playgroud)

里面双引号

  • 他的意思是整个字符串的双引号,而不是简单的引号. (3认同)