搜尋

首頁  >  問答  >  主體

將新行列印到CSV檔案的儲存格中

<p>我正在使用php產生一個CSV檔案。我需要在單元格內列印文字換行(Excel中可以使用<kbd>Ctrl</kbd> <kbd>Enter</kbd>或<kbd>Alt</kbd> <d>或<kbd>Alt</kbd> <d> 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粉276577460P粉276577460538 天前661

全部回覆(2)我來回復

  • P粉022723606

    P粉0227236062023-08-23 15:46:59

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

    回覆
    0
  • P粉409742142

    P粉4097421422023-08-23 10:28:46

    嘗試這個

    "\n"

    雙引號內

    回覆
    0
  • 取消回覆