Υπάρχουν πιο εύκολοι τρόποι να διαβάσεις μία ημερομηνία και εξαρτώνται σε μεγάλο βαθμό και από το πως διαβάζεις τις τιμές από το Excel. Αν τις διαβάζεις μέσω OLEDB η μετατροπή συνήθως γίνεται αυτόματα και παίρνεις την ημερομηνία σωστά. Επιπλέον, με το OLEDB δεν χρειάζεται και να υπάρχει το Excel εγκατεστημένο στο PC για να διαβαστεί το αρχείο, πόσο μάλλον να ανοιχτεί. Το να ανοίγεις το Excel έχει αρκετά προβλήματα ειδικά αν θέλεις να δουλέψεις με πολλά αρχεία. Είναι αρκετά εύκολο από ένα μικρό λάθος στο κλείσιμο του Excel αυτό να παραμείνει στη μνήμη, ή ακόμα και να ανοιχτούν πολλαπλά instances. Γενικά, το σήκωμα του Excel θεωρείται κακή λύση, ειδικά για server εφαρμογές.
Αν όμως θέλεις οπωσδήποτε να διαβάσεις μία τιμή από το Excel, θα πρέπει να έχεις υπόψη ότι το Excel αποθηκεύει τις ημερομηνίες όπως και η VB6 ως ένα δεκαδικό αριθμό όπου το ακέραιο τμήμα είναι η ημερομηνία και το δεκαδικό η ώρα. Η μετατροπή γίνεταί από το function DateTime.FromOATime(). Η CDate της VB.NET κάνει το ίδιο ακριβώς.
Παναγιώτης Καναβός, Freelancer
Twitter: http://www.twitter.com/pkanavos