2016-12-25 2 views
1

Ich habe ein Problem, bei dem ich seit zwei Tagen bin. Ich habe Tonnen von Dokumenten online gelesen, aber vielleicht kann mir jemand hier helfen. Kurz gesagt für diejenigen, die nicht weiter lesen möchten, ist es erforderlich, .csv Dokumente zu importieren, um mit vielen Daten zu übertreffen, die einige Zellen mit zwei oder mehr Linien darin enthalten.Erstellen einer CSV-Datei mit Zeilenumbrüchen in einer Zelle in einer schnellen App

So, hier ist meine erste CSV-Datei zum Beispiel Little-Endian-Codierung utf16:

Id;Order Date;First Name (Billing);Optional message; 
106119;"2016-11-01 \r\n 22:34:00";John;; 
94540;"2016-11-01 \n 22:37:33";John;; 
94540;"2016-11-01 \r 22:37:33";John;; 
94540;"2016-11-01 \n\r 22:37:33";John;; 
94540;"2016-11-01 
22:37:33";Damien;; 

Von dem, was ich las die letzte Zeile oder Ereignis der \ n Zeilen sollten in zwei Linien in einzelner Zelle gedruckt werden, aber stattdessen 15 über OS X erkennt \ n und geht zur nächsten Zeile.

Hier ist so ziemlich die gleiche Datei, die auch nicht funktioniert:

"Id","Order Date","First Name (Billing)","Optional message", 
"106119","2016-11-01 \r\n 22:34:00","John","", 
"94540","2016-11-01 \n 22:37:33","John","", 
"94540,"2016-11-01 \r 22:37:33","John","", 
"94540,"2016-11-01 \n\r 22:37:33","John","", 
"94540,"2016-11-01 
22:37:33","Damien","", 

mich hinzufügen, \ r \ n jede Zeile zu beenden.

Kann mir jemand sagen, was mache ich falsch, ich bin schon aus Ideen. Wieder mit Office 15 auf Mac. Fragen Sie mich nach weiteren Fragen. Ich habe die schnelle erzeugte .csv Datei sowie eine woocommerce exportierte Datei von wordpress ausprobiert, die ich manuell redigierte, um neue Zeilen für Zelle einzuschließen. Keine Arbeit. Ich weiß nicht, was ich tun soll. Wenn Sie dies tun, senden Sie mir bitte den richtigen Weg, indem Sie eines meiner Beispiele bearbeiten. Vielen Dank im Voraus.

Antwort

1

Haben Sie keinen Mac, aber dies unter Windows versucht. Excel kann eine "neue Zeile" in einer Zelle hinzufügen, indem bei Verwendung von Excel ALT + EINGABETASTE verwendet. In einem Hex-Editor habe ich gesehen, dass das in ein 0x0A-Zeichen übersetzt wird, das ist Line Feed/oder LF.

Wenn Sie also eine CSV-Datei generieren, müssen Sie ein LF 0x0A-Zeichen eingeben, nicht \ r oder \ n, da diese Escape-Sequenzen nicht interpretiert werden.

Um dies zu testen, habe ich eine einfache C# -Code geschrieben Snippet

char lf = (char)0x0A; 
System.IO.StreamWriter sw = System.IO.File.CreateText(@"x.csv"); 
     sw.WriteLine("Id,Name,DateTime,Message"); 
     sw.WriteLine("\"343\",\"34343\",\"12/12/2014{0}10:30\",\"dfsdfsfsdfsdf\"", lf); 
     sw.WriteLine("\"343\",\"34343\",\"12/12/2014{0}10:30\",\"dfsdfsfsdfsdf\"", lf); 
     sw.WriteLine("\"343\",\"34343\",\"12/12/2014{0}10:30\",\"dfsdfsfsdfsdf\"", lf); 
     sw.WriteLine("\"343\",\"34343\",\"12/12/2014{0}10:30\",\"dfsdfsfsdfsdf\"", lf); 
     sw.Close(); 

Dann öffnete ich die erzeugte CSV-Datei in Excel und ich war in der Lage die „Multi-Line“ Zelle zu scheinen zu bekommen. Hoffe, das gibt Ihnen einige Hinweise, wie auf einem Mac erhalten ähnliche Sachen können für die Lösung

enter image description here

+0

Dank zu arbeiten. Ich verstehe, wie dies theoretisch funktionieren könnte, aber in Swift scheint es zumindest so zu sein, dass die Hexadezimalzeichen vor dem Schreiben in Datei übersetzt werden, was bedeutet, dass die Zeichenkette zu der Zeit, als ich den String schreibe, bereits in Zeilenumbrüche übersetzt wurde zu Quadrat 1. –

+0

Ich kompilierte tatsächlich diesen Code und versuchte, in Excel für Mac einzubauen, und es arbeitete nicht. :( –

Verwandte Themen