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 № 1Ich 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