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

  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

  8. #8
    Invité de passage
    Femme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2018
    Messages : 1
    Par défaut afficher la première et la derniere ligne d'un datagridview c#
    bonjour
    Est ce que quelqu'un peut m'aider. En fait je suis entrain de développer une appli et j'ai besoin d'afficher juste le contenu de la la première et la dernière ligne d'un datagridview (le nombre de lignes varie selon le ficher excel donné car ce datagridview est lié a un fichier excel
    j'ai essayé ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int rowcount=datagridview1.Rows.count;
    int j =1;
     if (j< rouwcount-1){
    sw.writLine(datagridview1.Rows[1].Cells[0].Value.ToString() +datagridview1.Rows[j].Cells[0].Value.ToString());
    }
    ce code il me donne la première et la deuxième ligne du datagridview et non pas la dernière

+ 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, 12h02
  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, 14h46
  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, 12h50
  4. Réponses: 1
    Dernier message: 07/08/2007, 14h05
  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, 09h44

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