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?
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.
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";
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);
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
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.