Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Πρόβλημα με παρουσίαση Ημερομηνίας και Ώρας από ΕXCEL

Îåêßíçóå áðü ôï ìÝëïò amargar. Τελευταία δημοσίευση από το μέλος Παναγιώτης Καναβός στις 15-08-2008, 16:41. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  04-12-2007, 15:39 38001

    Πρόβλημα με παρουσίαση Ημερομηνίας και Ώρας από ΕXCEL

    Καλημέρα σε όλους,
    υλοποιώ με εφαρμογή σε C# .NET 2 και χρησιμοποιώ ένα EXCEL από το οποίο αντλώ δεδομένα.
    Το πρόβλημα παρουσιάζεται σε κελιά που περιέχουν ημερομηνίες ή ώρες και ο λόγος είναι ότι στο EXCEL η μορφή τους είναι Ημερομηνία και όταν τα διαβάζω μέσα στην φόρμα μου τα εμφανίζει ως αριθμούς για παράδειγμα την ημερομηνία 12/11/2007 μου την εμφανίζει ως 39398 ενώ την ώρα 11:25 ως 0,506944444444444.
    Γνωρίζει κανείς πως μπορώ μέσα στον κώδικα να τα εμφανίσω κανονικά.
    Ευχαριστώ εκ των προτέρων για τον χρόνο σας.
  •  14-08-2008, 15:01 44111 σε απάντηση της 38001

    Απ: Πρόβλημα με παρουσίαση Ημερομηνίας και Ώρας από ΕXCEL

    Το 39398 ειναι 12/11/2007 στο excel.Αμ γραψεις τον αριθμο σε ενα κελι με μορφή"γενικη" και μετα το μετατρεψεις σε ημερομηνια θα σου βγαλει το 12/11/2007  δοκιμασε να αλλαξεις  την μορφη το κελιων σε γενικη και μετα περασε τις ημερομηνιες αλλιως δοκιμασε αυτο που ερχεται απο το excel να το κανεις cdate
  •  15-08-2008, 16:41 44134 σε απάντηση της 44111

    Απ: Πρόβλημα με παρουσίαση Ημερομηνίας και Ώρας από ΕXCEL

    Υπάρχουν πιο εύκολοι τρόποι να διαβάσεις μία ημερομηνία  και εξαρτώνται σε μεγάλο βαθμό και από το πως διαβάζεις τις τιμές από το 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
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems