将新行打印到CSV文件的单元格中
P粉276577460
P粉276577460 2023-08-22 18:17:10
0
2
628
<p>我正在使用php生成一个CSV文件。我需要在单元格内打印文本换行(在Excel中可以使用<kbd>Ctrl</kbd>+<kbd>Enter</kbd>或<kbd>Alt</kbd>+<kbd>Enter</kbd>实现)。为此,我尝试使用<code>'n'</code>,<code>'r'</code>,但没有帮助。我该如何实现这一点?</p> <p>我正在使用yii扩展ECSVExport生成csv。</p> <p>我想要的输出如下:</p> <pre class="brush:php;toolbar:false;">ID Value 1 A B 2 C 3 E FF G 4 X</pre> <p><br /></p>
P粉276577460
P粉276577460

全部回复(2)
P粉022723606

在单元格值内使用"\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);

或(使用变量)

$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);

(使用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);

或(使用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);
P粉409742142

尝试这个

"\n"

双引号内

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板