2009-03-30 10 views
1

Ich habe eine CSV-Ausgabe für eine meiner Anwendungen. Dies erzeugt eine Datei aus Webformulardaten.CSV Carriage Return-Zeichen

In einigen Fällen bekomme ich ein Wagenrücklaufzeichen in meinem Notizfeld. Dies verursacht einen Fehler beim Importieren der Datei. Ich möchte diesen Charakter entfernen.

Das Problem tritt auf, wenn Benutzer Informationen aus Worddokumenten in das Formular einfügen oder die Umschalttaste gedrückt halten und die Eingabetaste drücken.

Das Feld ist Ntext und in einem mehrzeiligen Textfeldsteuerelement ausgefüllt.

Ich habe versucht, dies mit einer Ersetzungsfunktion zu entfernen, aber einige Wagenrücklaufzeichen scheinen durchzukommen.

SQL

REPLACE(Fieldname), CHAR(13) + CHAR(10), ' ') AS new_Fieldname 

Antwort

8

Es kann am besten sein, die Zeichen einzeln zu ersetzen, da sie nicht immer zusammen oder in dieser Reihenfolge auftreten:

REPLACE(REPLACE(Fieldname, CHAR(13),' '), CHAR(10), ' ') AS new_Fieldname 
+0

In Ihrem Code ist ein Syntaxfehler aufgetreten. – Tomalak

+0

Sie können mit zwei Leerzeichen enden, wenn Sie wirklich wollen, dass das cr/lf weggeht. Also würde ich ersetzen (Feldname, Char (13), '') – Martlark

+0

Hoppla, Syntax behoben, ich hoffe. – Fionnuala

0

In Word gibt es verschiedene Arten von neuen -Zeile Zeichen. Vielleicht sollten Sie auch die anderen suchen/ersetzen.

Ich bin mir nicht sicher, welche sind die verschiedenen Möglichkeiten, zumindest die Absatzmarke ist eine, die ich kenne.

3

Beachten Sie, dass Sie möglicherweise einen Wagenrücklauf + Zeilenvorschub oder nur einen Zeilenumbruch (abhängig von der Quellplattform, der Quelle der Daten usw.) haben. Sie werden wahrscheinlich beide Fälle behandeln müssen.

2

Sie können CSVs mit Wagenrücklauf in ihnen lesen. Der Wagenrücklauf sollte in einem string-repräsentierten Feld (d. H. Umgeben von Anführungszeichen) sein. Dadurch können Sie Zeilen lesen und in Ihrem Feld anzeigen. Wenn Sie Ihre CSV Zeile für Zeile lesen, müssen Sie den Status zwischen den Zeilen beibehalten und die Daten bei Bedarf anhängen.

In .Net ist der einfachste Weg zum Lesen einer CSV das Microsoft.VisualBasic.FileIO.textFileParser-Objekt (ja, Sie können dies in C# verwenden, wenn Sie eine Referenz hinzufügen). Dies liest selbst die bösartigsten CSVs, die ich mit Leichtigkeit geworfen habe.

Verwandte Themen