Abholen müssen, Zeilenende-Zeichen mit StreamReader.ReadLine()

Schrieb ich ein C# - Programm zum Lesen von Excel .xls/.xlsx Datei und Ausgabe in CSV-und Unicode-text. Ich schrieb ein separates Programm zum entfernen von leeren Datensätzen. Dies geschieht durch Lesen jede Zeile mit StreamReader.ReadLine(), und dann geht Zeichen für Zeichen durch den string und nicht schreibt in die Zeile ausgeben, wenn es enthält alle Kommas (für CSV) oder alle tabs (für die Unicode-text).

Das problem tritt auf, wenn die Excel-Datei enthält eingebettete Zeilenumbrüche (\x0A) innerhalb der Zellen. Ich habe meinen XLS zu CSV converter zu finden, diese neuen Zeilen (da geht es Zelle für Zelle) und schreiben Sie als \x0A und normalen Linien verwenden Sie einfach StreamWriter.WriteLine().

Tritt das problem auf, in das separate Programm zu entfernen, leere Datensätze. Wenn ich lese, mit StreamReader.ReadLine(), es per definition nur gibt den string zurück, mit der Linie, nicht der terminator. Da der eingebettete Zeilenumbrüche anzeigen als zwei separate Zeilen, ich kann nicht sagen, das ist eine vollständige Aufzeichnung und das ist ein embedded-newline für die, wenn ich Sie Schreibe, um die endgültige Datei.

Ich bin mir auch nicht sicher, ich kann Lesen in der \x0A, weil alles, was auf der input-Register, '\n'. Ich könnte gehen, Zeichen für Zeichen, aber das zerstört meine Logik, um leere Zeilen entfernen.

InformationsquelleAutor Tony Trozzo | 2009-03-20
Schreibe einen Kommentar