/ / Datum Konvertierungsproblem mit Excel Interop und CSV-Datei - c #, Excel, COM, Interop

Datum Konvertierungsproblem mit Excel Interop und CSV-Datei - c #, Excel, COM, Interop

Ich habe eine CSV-Datei mit Datumsangaben, die wie folgt als m / dd / yyyy formatiert sind

1/06 / 2013,15,1,1 / 06/2013 0: 15,1,6.44

Wenn ich die Datei in Excel öffne, werden die Datumsangaben korrekt konvertiert. Der 1/06/2013 hat den numerischen Wert 41.426.00 und die Funktion MONTH () gibt 6 zurück.

Wenn ich Microsoft.Office.Interop.Excel zum Öffnen derselben Datei mithilfe der Open () - oder OpenText () - Methode verwende, wird das Datum in 41.280.00 (6/01/2013) konvertiert.

Können Sie eine CSV-Datei mit Microsoft.Office.Interop.Excel öffnen, sodass sie genauso geöffnet wird, als wenn der Benutzer die Datei von der Windows-Shell aus geöffnet hätte?

Grüße Dave

Antworten:

2 für die Antwort № 1

Ich fand die Antwort, die ich am Ende dieser Frage begraben habe - Excel VBA-Datumsformate / -werte ändern sich, wenn die Datei programmgesteuert geöffnet wird

workbook = workbooks.Open(filename, Local: true)

Open () hat eine Local-Eigenschaft. Bei false wird die Mehrfach-Datums-Reihenfolge angenommen. Bei true wird die lokale Computereinstellung verwendet, die in Australien dmy ist