IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Difficultées de converssion en DateTime depuis excel


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 17
    Points : 13
    Points
    13
    Par défaut Difficultées de converssion en DateTime depuis excel
    Bonjours,

    Je souhaite lire une cellule d'une feuille de calcule qui contient une une date sous la forme jj.mm.aaaa hh:mm:ss (ce format peut être modifié)

    Je sais qu'il existe un type DateTime, j'ai essayer avec la methode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    workRow[data_colonne] = DateTime.Parse(worksheet.Cells[indice_ligne, 1].Value,cultures);
    avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    DataRow workRow;
    System.Data.DataColumn data_colonne;
    CultureInfo cultures = CultureInfo.CreateSpecificCulture("fr-FR");
    Je ne comprends pas vraiment le principe des CultureInfo

    Pouvez vous m'aider ?
    Merci d'avance

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    L'objet CultureInfo spécifie des règles liées à une culture (langue) donnée pour le format des dates, des nombres etc.

    En l'occurrence le format que tu indiques n'est pas le format de date standard en français, donc tu ne vas pas y arriver en utilisant la culture française. Mais de toutes façons tu n'es pas obligé de passer par là, tu peux simplement préciser le format exact que tu veux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    string value = worksheet.Cells[indice_ligne, 1].Value;
    string format = "dd.MM.yyyy HH:mm:ss";
    workRow[data_colonne] = DateTime.ParseExact(value, format, null);

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Merci pour votre aide mais ça me met une erreur lors de l’exécution de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     workRow[data_colonne] = DateTime.ParseExact(worksheet.Cells[indice_ligne, 1].Value, "dd.MM.yyyy HH:mm:ss", null);
    L’exception COMException n'a pas été gérée
    Exception de HRESULT : 0x800401A8
    Est ce que le format de la cellule dans Excel a de l'importance ?

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par artoon_42 Voir le message
    Merci pour votre aide mais ça me met une erreur lors de l’exécution de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     workRow[data_colonne] = DateTime.ParseExact(worksheet.Cells[indice_ligne, 1].Value, "dd.MM.yyyy HH:mm:ss", null);
    L’exception COMException n'a pas été gérée
    Exception de HRESULT : 0x800401A8
    Bah c'est une erreur d'Excel, pas une erreur .NET... donc ce n'est pas lié au code que je t'ai donné pour convertir la valeur.

    Citation Envoyé par artoon_42 Voir le message
    Est ce que le format de la cellule dans Excel a de l'importance ?
    Aucune idée, je connais pas très bien Excel...

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par artoon_42 Voir le message
    Ais je le droit de mettre null comme dernier paramètre pour le IFormatProvider ?
    Oui, c'est explicitement mentionné dans la doc ; si tu mets null, ça utilise la culture courante.
    Donc a priori c'est worksheet.Cells[indice_ligne, 1].Value qui est null...

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 17
    Points : 13
    Points
    13
    Par défaut
    Ok merci, j'ai trouver la solution.

    Merci beaucoup !
    Bonne soirée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. sauver une picture en gif depuis excel avec Visual baisi
    Par cada01a dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 09/11/2005, 19h58
  2. Connexion à Oracle depuis EXCEL
    Par Megaxel dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/10/2005, 12h04
  3. Renseigner un formulaire Access depuis Excel
    Par vciofolo dans le forum Access
    Réponses: 6
    Dernier message: 30/09/2005, 11h12
  4. Ouverture d'un template Word depuis Excel
    Par modus vivendi dans le forum VBA Word
    Réponses: 1
    Dernier message: 14/08/2005, 10h29
  5. Problemes d'importation depuis excel
    Par KANCRENAZ dans le forum Access
    Réponses: 3
    Dernier message: 17/02/2005, 09h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo