4. Dezember 2013 16:19
Eine CSV-Datei in einem Komma-Dezimaltrennzeichen-Land wie Deutschland kann ein Semikolon als Trennzeichen einsetzten und braucht dann keine Feldbegrenzer. Wenn der Erzeuger der Datei dann aufpasst, dass kein Semikolon in einem Textfeld vorkommen kann, gibt es keine Probleme.
In
Punkt-Dezimaltrennzeichen-Ländern wird üblicherweise als Trennzeichen ein Komma statt dem Semikolon eingesetzt, und dann kommt es natürlich zu Problemen, wenn die Dezimalfelder aus Kommadezimaltrenner-Ländern verarbeiten müssen. Dafür gibt es die Feldbegrenzer, sonst sind die überflüssig. Man kann die zwar beim Erzeugen maskieren (in CSV werden die dann innerhalb des Feldes verdoppelt) aber das muss man dann hinterher wieder auseinanderpflücken, also jede Zeile komplett einlesen und die Positionen der Felder anhand der Trennzeichen ermitteln und die doppelten wieder umwandeln.
Bei einem
, als Trennzeichen kann man so vorgehen:
Als erstes in der Datei prüfen ob ein
; vorhanden ist und durch
, ersetzen. Dann in der CSV Datei die drei Zeichen
"," durch ein
; ersetzen. In den Properties dann FieldSeparator auf
; sowie FieldStartDelimiter und FieldEndDelimiter auf
<None>. Dann kann man die Datei in NAV einlesen.