Autor Beitrag
erfahrener Neuling
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 213
Erhaltene Danke: 9

Win 7, Win 10
C# (VS 2017 Community), Java, MS SQL, Firebird SQL
BeitragVerfasst: Di 28.02.17 10:29 
Hallo,

ich erstelle in C# eine CSV-Datei, die man dann in Excel öffnen soll. Dabei kann es vorkommen, dass innerhalb eines Zellenwertes ein Zeilenumbruch kommt. Leider funktioniert das normale Zeichen (\n) nicht. Es wird dann immer in der nächsten Zeile angezeigt.

Da dies aber in Excel selbst möglich ist, muss es ja ein Zeichen dafür geben! Habe dazu leider nichts funktionierendes gefunden.

Vielleicht hattet ihr ja schonmal das gleiche Problem. Wäre dankbar für jegliche Art von Tipps.

Gruß
Julian
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 9891
Erhaltene Danke: 1060

W2k .. W7pro .. W10ent
TP3 .. D7pro .. D10.1
BeitragVerfasst: Di 28.02.17 10:38 
Moin!

Meines Wissens ist ein Zeilenumbruch in einer Zelle im CSV-Format nicht möglich. :nixweiss:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Frühlingsrolle
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2068
Erhaltene Danke: 377

[Win NT] 5.1 x86 6.1 x64
[Delphi] 7 PE, 2006, 10.1 Starter, Lazarus - [C#] VS Exp 2012 - [Android API 15] VS Com 2015, Eclipse, AIDE - [C++] Builder 10.1
BeitragVerfasst: Di 28.02.17 10:38 
Guten Tag erfahrener Neuling,

hast du dein WorkSheet auch enstrpechend für Zeilenumbrüche gesetzt?
ausblenden C#-Quelltext
1:
WorkSheet.Cells.Style.WrapText = true;					

Und eventuell statt \n, Enviroment.NewLine benutzen.

_________________
„Politicians are put there to give you the idea that you have freedom of choice. You don’t. You have no choice. You have owners. They own you. They own everything." (George Denis Patrick Carlin)
erfahrener Neuling Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 213
Erhaltene Danke: 9

Win 7, Win 10
C# (VS 2017 Community), Java, MS SQL, Firebird SQL
BeitragVerfasst: Di 28.02.17 11:12 
Danke für die schnellen Antworten.

Zitat:
Meines Wissens ist ein Zeilenumbruch in einer Zelle im CSV-Format nicht möglich.
Das befürchte ich mittlerweile auch. Schade!

Zitat:
hast du dein WorkSheet auch enstrpechend für Zeilenumbrüche gesetzt?
Direkt eine Excelmappe zu erstellen habe ich noch gar nicht bedacht, werde ich mir mal zu Gemüte führen :zustimm:

Zitat:
Und eventuell statt \n, Enviroment.NewLine benutzen.
Mal gucken, ob ich dass eventuell replacen kann. Ich lese eigentlich eine Excelmappe aus und füge diese in eine DataTable. Bestimmte Rows wollte ich dann wieder in Excel sichtbar machen.

Trotzdem danke erstmal!
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 3874
Erhaltene Danke: 787

Win7
C++, C# (VS 2015/17)
BeitragVerfasst: Di 28.02.17 11:23 
Hallo,

zeige mal den Ausschnitt aus deiner CSV-Datei. Müsste einfach mit Setzen des gesamten Spaltenwerts in Anführungszeichen funktionieren:
ausblenden Quelltext
1:
2:
Text,"Text
mit Zeilenumbruch",weiterer Text
erfahrener Neuling Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 213
Erhaltene Danke: 9

Win 7, Win 10
C# (VS 2017 Community), Java, MS SQL, Firebird SQL
BeitragVerfasst: Di 28.02.17 11:44 
Zitat:
Müsste einfach mit Setzen des gesamten Spaltenwerts in Anführungszeichen funktionieren:
Leider nein.

Benutze ich folgendes Schema:
ausblenden Quelltext
1:
2:
3:
textABC;"text
mit Leerzeile
und noch einer Leerzeile";textXYZ

dann zeigt es in Spalte 2 nur text an. Den Rest schneidet Excel ab.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 3874
Erhaltene Danke: 787

Win7
C++, C# (VS 2015/17)
BeitragVerfasst: Di 28.02.17 13:01 
Das scheint eine Feature (Fehler) von Excel zu sein. Wenn du die Zeile per Hand vergrößerst oder aber für die Zelle "Oben ausrichten" aktivierst, erscheint der ganze Text mit Zeilenumbruch.

Für diesen Beitrag haben gedankt: erfahrener Neuling, Narses
erfahrener Neuling Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 213
Erhaltene Danke: 9

Win 7, Win 10
C# (VS 2017 Community), Java, MS SQL, Firebird SQL
BeitragVerfasst: Di 28.02.17 13:48 
Also es hat tatsächlich funktioniert, dass ich es bei oben gezeigtem Format korrekt angezeigt kriege, wenn ich die Zelle auswähle und dann das Feld "Zeilenumbruch" ab- und auswähle
excel

Allerdings löst das mein Problem nicht ganz, da man das für JEDE Zelle einzeln machen muss :(

Eine Idee hab ich aber noch...
Einloggen, um Attachments anzusehen!
erfahrener Neuling Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 213
Erhaltene Danke: 9

Win 7, Win 10
C# (VS 2017 Community), Java, MS SQL, Firebird SQL
BeitragVerfasst: Di 28.02.17 14:00 
Also die Lösung nochmal zusammengefasst:

Die CSV-Datei muss folgende Struktur haben:

ausblenden Quelltext
1:
2:
3:
text;"text
mit
Leerzeilen";weiterer Text
(es können auch alle Zellenelemente in Anführungszeichen stehen). Dann in Excel alle Zellen markieren und auf "Oben ausrichten" klicken. Somit werden alle Zeilenumbrüche korrekt dargestellt.

Nochmal danke an Th69 ;)