printing a new line in a csv file cell

后端 未结 2 1687
迷失自我
迷失自我 2020-12-07 00:54

I am generating an CSV file in php. I need to print the text in new line inside a cell(I can do this in excel using Ctrl+Enter or Alt+E

相关标签:
2条回答
  • 2020-12-07 01:15

    Try this

    "\n"
    

    inside double quote

    0 讨论(0)
  • 2020-12-07 01:24

    Use "\n" inside the cell value (wrapped in ") and "\r\n" for your end-of-record marker. If your cell entry include multiple lines, then you must enclose it in "

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

    or (working with variables)

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

    or (using 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);
    

    or (using fputcsv() and working with variables)

    $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 讨论(0)
提交回复
热议问题