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

Windows Forms Discussion :

Remplir un DataGridView avec le contenu d'un fichier excel


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2003
    Messages : 9
    Par défaut Remplir un DataGridView avec le contenu d'un fichier excel
    Bonjour,
    j'aimerais savoir comment faire pour remplir un DataGridView avec le contenu d'un fichier excel en C#.

    j'aimerais aussi savoir comment affecter une valeur donnée (0.2 par exemple) à toutes les cellules d'une colonne donnée de mon DataGridView.

    une dernière question enfin, comment accéder à une cellule donnée de mon DataGridView (intersection de la ligne i et de la colonne j).

    Merci à tous et bon codage !
    Tidjani.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2003
    Messages : 9
    Par défaut
    Bonjour,
    Apparement puisque personne ne veut ne me répondre ... je me répond moi-même !!

    alors pour la première question :

    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
    24
    25
    26
    27
    28
    29
    30
    31
     
    // ici, j'ai supposé que j'ai un fichier test.xls dans le répertoire c:
     
    // les using
    using System;
    using System.Data;
    using System.Data.OleDb;
     
    // le code proprement dit
    try{
    // on crée une connexion vers le fichier excel
    OleDbConnection myConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/test.xls;Extended Properties=Excel 8.0;");
     
    // ici je sélectionne uniquement les données de la colonne intitulée "colonneB" de la feuille nommée "Feuil1" de mon classeur test.xls
    // pour selectionner toutes les données de la feuille, j'aurai spécifié "select * from [Feuil1$]"
    OleDbCommand myCommand = new OleDbCommand("select colonneB from [Feuil1$]", myConnection);
    // je crée un reader qui va me permettre, de manière itérative de récupérer mes données
    OleDbDataReader myReader;
    // j'ouvre la connexion
    myConnection.Open();
    //j'exécute la lecture des données
    myReader = myCommand.ExecuteReader();
    while (myReader.Read())
    {
        Console.WriteLine(myReader.GetValue(0).ToString());
    }
    // à la fin de la lecture, je ferme mon reader ainsi que ma connexion                         myReader.Close();
    myConnection.Close();
    }
    // en cas d'erreur de connexion, l'exception OleDbException est levée
    catch (OleDbException ex) { Console.WriteLine(ex.ToString()); }
    pour la deuxième question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    // je veux affecter à la colonne 4 (sur toutes les lignes) la valeur 0.00002 et la valeur 1 à la colonne 5 (aussi sur toutes les lignes)
    for (int i = 0; i < dataGridView1.RowCount; i++)
    {
           dataGridView1.Rows[i].Cells[3].Value = 0.00002;
           dataGridView1.Rows[i].Cells[4].Value = 1;
    }
    enfin, la troisième question:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // accès à la cellule (ligne i, colonne j) de mon dataGridView
    dataGridView1.Rows[i].Cells[j].Value
    Voila, quelques heures de tentatives inabouties et de recherches sur msdn.
    j'espère que ça sera utile à quelqu'un !!

    Tidjani.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2003
    Messages : 9
    Par défaut
    Bonjour,
    Apparement puisque personne ne veut ne me répondre ... je me répond moi-même !!

    alors pour la première question :

    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
    24
    25
    26
    27
    28
    29
    30
    31
     
    // ici, j'ai supposé que j'ai un fichier test.xls dans le répertoire c:
     
    // les using
    using System;
    using System.Data;
    using System.Data.OleDb;
     
    // le code proprement dit
    try{
    // on crée une connexion vers le fichier excel
    OleDbConnection myConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/test.xls;Extended Properties=Excel 8.0;");
     
    // ici je sélectionne uniquement les données de la colonne intitulée "colonneB" de la feuille nommée "Feuil1" de mon classeur test.xls
    // pour selectionner toutes les données de la feuille, j'aurai spécifié "select * from [Feuil1$]"
    OleDbCommand myCommand = new OleDbCommand("select colonneB from [Feuil1$]", myConnection);
    // je crée un reader qui va me permettre, de manière itérative de récupérer mes données
    OleDbDataReader myReader;
    // j'ouvre la connexion
    myConnection.Open();
    //j'exécute la lecture des données
    myReader = myCommand.ExecuteReader();
    while (myReader.Read())
    {
        Console.WriteLine(myReader.GetValue(0).ToString());
    }
    // à la fin de la lecture, je ferme mon reader ainsi que ma connexion                         myReader.Close();
    myConnection.Close();
    }
    // en cas d'erreur de connexion, l'exception OleDbException est levée
    catch (OleDbException ex) { Console.WriteLine(ex.ToString()); }
    pour la deuxième question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    // je veux affecter à la colonne 4 (sur toutes les lignes) la valeur 0.00002 et la valeur 1 à la colonne 5 (aussi sur toutes les lignes)
    for (int i = 0; i < dataGridView1.RowCount; i++)
    {
           dataGridView1.Rows[i].Cells[3].Value = 0.00002;
           dataGridView1.Rows[i].Cells[4].Value = 1;
    }
    enfin, la troisième question:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // accès à la cellule (ligne i, colonne j) de mon dataGridView
    dataGridView1.Rows[i].Cells[j].Value
    Voila, quelques heures de tentatives inabouties et de recherches sur msdn.
    j'espère que ça sera utile à quelqu'un !!

    Tidjani.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 264
    Par défaut Bon boulot !!!!
    Salut Tidjani,

    Et bien en tout K pour moi ça a été bien utile !!!

    Merci encore !

  5. #5
    Membre à l'essai Avatar de spider0
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 4
    Par défaut datagridview en vb.net
    bonjour à tous je veut affecter le contenue d'un datagidview à un autre datagridview cmt je fait? svp j'ai besoin d'aide.

  6. #6
    Membre éclairé
    Homme Profil pro
    Ingénieur Développement Logiciel
    Inscrit en
    Septembre 2005
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Ingénieur Développement Logiciel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 290
    Par défaut
    Spider0 ta question est trop vague!

  7. #7
    Invité de passage
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Juillet 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2017
    Messages : 1
    Par défaut mettre une colonne dans un tableau ou une matrice
    Bonjour, merci tidjani pour ton auto réponse, elle m'a été utile surtout que je débute en c#.

    Je voudrai s'il vous plait avoir votre aide.

    Moi je ne veux pas afficher le contenu de mon fichier dans un DataGridView.

    ce que je veux c d'importer mon fichier XLSX et de le stocker dans une matrice pour que je puisse y acceder et efectuer des claculs.


    Merci

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

Discussions similaires

  1. [c#] Remplir un DataGridView avec plusieurs DataTable
    Par macfred dans le forum Windows Forms
    Réponses: 2
    Dernier message: 23/02/2010, 11h02
  2. Remplir une comboBox avec le contenu d'une feuille excel
    Par monichou86 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 20/01/2010, 13h46
  3. Remplir une ListView avec le contenu d'une feuille
    Par sat478 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 05/02/2008, 11h50
  4. Réponses: 1
    Dernier message: 07/08/2007, 13h05
  5. Remplir une ListView avec le contenu d'une requête
    Par callo dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 19/10/2006, 08h44

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