Ich habe gerade einen Schnelltest ausprobiert, der Ihr Problem repliziert.
Ich habe eine einzeilige CSV-Datei in Word (die intelligente Anführungszeichen verwendet) als test.csv "123", "4,5,6" erstellt und wie beschrieben in Excel geöffnet.
Versuchen Sie, "und" durch "zu ersetzen"
Nachdem ich mit Ihrem Beispiel gespielt habe, stelle ich fest, dass Excel die Leerzeichen zwischen Feldern nicht mag
zB statt
"20051", "", "2009 Sep 30 02:53:23", ...
Sie wollen
"20051","","2009 Sep 30 02:53:23",...
ein anständiger Ersatz für reguläre Ausdrücke sollte damit umgehen können
Find: |("[^"]*",) | Replace: |\1|
(Pipe-Zeichen nur für visuelle Hinweise)
Oder ändern Sie einfach den .Net-Code, wenn Sie darauf Zugriff haben ;-)
Wie Arjan darauf hingewiesen hat, müssen Sie möglicherweise auch die Datei von UTF-8 in ANSI konvertieren, um zu verhindern, dass Zelle A1 die Stückliste und die sie umgebenden Qoutes enthält.
Ich bin auf Catch 22 von ANSI-codierten CSV-Dateien gestoßen, die keine internationalen Zeichen verarbeiten, und UTF-codierte CSV-Dateien, die nicht ordnungsgemäß von Excel behandelt werden. und keine Lösung gefunden, während der CSV gewartet wird. Wenn internationale Zeichenunterstützung erforderlich ist, scheinen die XML-Formate (oder native XLS-Formate) der einzige Weg zu sein - auf Kosten der Einfachheit.