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

Accès aux données Discussion :

Affichage des données monétaires et pourcentage d'une table Excel dans un DataGrid


Sujet :

Accès aux données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 85
    Points : 62
    Points
    62
    Par défaut Affichage des données monétaires et pourcentage d'une table Excel dans un DataGrid
    Bonjour,

    Je cherche à connecter un fichier Excel comme une DB afin de l'afficher dans un DataGrid. Cela fonctionne bien pour les données texte, mais les colonnes contenant des valeurs monétaires ou de pourcentage retournent des valeurs null... Si je change le format d'une cellule à texte, cela fonctionne, mais je perd les informations de ma monnaie...

    Voici le code que j'utilise pour afficher mon fichier Excel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    string sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + excelFilePath + ";Extended Properties=Excel 8.0;";
     
                    // Create connection
                    OleDbConnection objConn = new OleDbConnection(sConnectionString); 
     
                    // Open it
                    objConn.Open();
     
                    OleDbCommand objCmdSelect = new OleDbCommand("SELECT * FROM [MSD$]", objConn);
     
                    OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();
     
                    objAdapter1.SelectCommand = objCmdSelect;
     
                    DataSet oExcelDataSet = new DataSet();
     
                    objAdapter1.Fill(oExcelDataSet, "Prices");
     
                    // Show it into Datagrid
                    ExcelDataGrid.DataSource = oExcelDataSet;
                    ExcelDataGrid.DataMember = "Prices";
     
                    objConn.Close();
    Je joins également 2 captures d'écran, de mon fichier Excel source ainsi que du résultat graphique que j'obtiens.

    Comment faire pour que le contenu monétaire soit affiché correctement dans mon DataGrid?

    Merci d'avance pour votre aide!
    Images attachées Images attachées   

  2. #2
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    As-tu moyen d'agir sur le fichier Excel que tu lis ? Peux-être devrais-tu scinder le montant et l'information de monnaie dans deux colonnes différentes.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 85
    Points : 62
    Points
    62
    Par défaut
    En fait l'information monétaire n'a aucune valeur pour moi, je sais qu'il s'agit d'euros. Le problème c'est que la colonne est formatée pour afficher du contenu monétaire et que dans ce cas je n'arrive pas à lister le contenu du fichier dans un DataSet....

  4. #4
    Rédacteur/Modérateur
    Avatar de Skalp
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 694
    Points : 2 927
    Points
    2 927
    Par défaut
    J'ai fait le test chez moi et j'arrive à récupérer des valeurs au format monétaire.

    J'ai remarqué que chez moi, les données monétaires se présentent sous la forme
    1 000,00 €
    et non pas
    € 1'000,00
    comme dans ton fichier. La présentation des données dans ton fichier Excel est au format US il me semble.
    Quelles sont tes options régionales ? Peut-être y a-t-il une interférence de formats de présentation entre tes options régionales et le fichier Excel ?

Discussions similaires

  1. Charger une JComboBox ou une JList des données d'un champ d'une table dans une BDD.
    Par MasterMbg dans le forum Codes sources à télécharger
    Réponses: 2
    Dernier message: 27/09/2013, 12h16
  2. Réponses: 2
    Dernier message: 04/10/2012, 09h54
  3. Réponses: 13
    Dernier message: 18/06/2011, 14h01
  4. Réponses: 4
    Dernier message: 09/02/2011, 17h00
  5. Réponses: 1
    Dernier message: 13/12/2010, 14h31

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