webentwicklung-frage-antwort-db.com.de

Hinzufügen eines Zeilenumbruchs innerhalb einer Zelle (CSV)

Ich möchte Produktbeschreibungen importieren, die nach Dingen wie Beschreibung, Abmessungen, Oberflächen usw. logisch gebrochen werden müssen. Wie kann ich einen Zeilenumbruch einfügen, damit sie beim Importieren der Datei angezeigt werden?

22
user2997761

Diese Frage wurde gut beantwortet unter Können Sie CR/LF in CSV-Dateien kodieren? .

Berücksichtigen Sie auch das Reverse Engineering mehrerer Zeilen in Excel. Drücken Sie Alt + Eingabetaste, um eine neue Zeile in eine Excel-Zelle einzubetten. Dann speichern Sie die Datei als .csv. Sie sehen, dass die Anführungszeichen in einer Zeile beginnen und jede neue Zeile in der Datei als eingebetteter Zeilenvorschub in der Zelle betrachtet wird. 

15
rajah9

Ich habe auch damit zu kämpfen, aber hier ist die Lösung. Wenn Sie " vor und am Ende der angezeigten CSV-Zeichenfolge hinzufügen, werden diese unter Beibehaltung der neuen Zeile in einer Zelle konsolidiert. 

csvString += "\""+"Date Generated: \n" ; 
csvString += "Doctor: " + "\n"+"\"" + "\n"; 
12
Dan Robidoux

Ich habe die Variable verkettet und mehrere Elemente in derselben Zeile hinzugefügt. also unten Code für mich arbeiten. "\ n" neuer Zeilencode ist zwingend erforderlich, um die erste und letzte Zeile jeder Zeile hinzuzufügen, wenn Sie ihn nur in der letzten Zeile hinzufügen, wird er nur die letzten 1-2 Zeichen an neue Zeilen anhängen.

  $itemCode =  '';
foreach($returnData['repairdetail'] as $checkkey=>$repairDetailData){

    if($checkkey >0){
        $itemCode   .= "\n".trim(@$repairDetailData['ItemMaster']->Item_Code)."\n";
    }else{
        $itemCode   .= "\n".trim(@$repairDetailData['ItemMaster']->Item_Code)."\n";             
    }
    $repairDetaile[]= array(
        $itemCode,
    )
}
// pass all array to here 
foreach ($repairDetaile as $csvData) { 
    fputcsv($csv_file,$csvData,',','"');
}
fclose($csv_file);  
0
kantsverma

In Excel für Mac 2011 musste die Newline ein \r anstelle eines \n sein.

So

"\"first line\rsecond line\""

würde als Zelle mit 2 Zeilen angezeigt

0
Sam

Ich habe das gleiche Problem, wenn ich versuche, den Inhalt einer E-Mail nach csv zu exportieren, und beim Importieren nach Excel die Bruchlinie beibehalten.

Ich exportiere die Inhalte wie folgt: = "Line 1" & CHAR (10) & "Line 2"

Wenn ich es in Excel (Google) importiere, versteht Excel es als Zeichenfolge. Es bricht immer noch keine neue Linie.

Wir müssen Excel auslösen, um es wie folgt zu behandeln: Format -> Number | Wissenschaftlich.

Dies ist nicht der gute Weg, aber es löst mein Problem.

0
Luan Nguyen