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 :

Charger un fichier Excel en dataGridView


Sujet :

C#

  1. #1
    Membre habitué Avatar de Hamza
    Homme Profil pro
    Data Analyst
    Inscrit en
    Avril 2005
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Data Analyst
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 295
    Points : 164
    Points
    164
    Par défaut Charger un fichier Excel en dataGridView
    Bonjour,

    je n'arrive pas a ouvrir un fichier excel en VB, la procedure est la suivante : cliquer sur un bouton pour selectionner le fichier excel, choisir le fichier puis le programme doit l'ouvrir et le charger dans un dataGridView.

    le code est ci-dessous

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.IO;
    using Excel = Microsoft.Office.Interop.Excel;
    using System.Data.OleDb;
    using System.Windows.Forms;
     
    namespace Support_Exploitation_Manager
    {
        public partial class Form1 : Form
        {
            //Classe lecture Excel selon la version
            public DataTable ReadExcel(string fileName, string fileExt)
            {
                string conn = string.Empty;
                DataTable dtexcel = new DataTable();
                if (fileExt.CompareTo(".xls") == 0)
                    conn = @"provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName + ";Extended Properties='Excel 8.0;HRD=Yes;IMEX=1';"; //Version interieur excel 2007  
                else
                    conn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + ";Extended Properties='Excel 12.0;HDR=NO';"; //Version supperieur excel 2007  
                using (OleDbConnection con = new OleDbConnection(conn))
                {
                    try
                    {
                        OleDbDataAdapter oleAdpt = new OleDbDataAdapter("select * from [Sheet1$]", con); //Lecture de la feuille 1
                        oleAdpt.Fill(dtexcel); //Fichier Excel enregistrée dans la variable
                    }
                    catch { }
                }
                return dtexcel;
            }
            //Fin de la classe
     
            public Form1()
            {
                InitializeComponent();
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                textBox1.Text = "ok";
                //Ouvrir fichier
                string filePath = string.Empty;
                string fileExt = string.Empty;
                OpenFileDialog file = new OpenFileDialog(); //Boite de dialogue ouverte  
                if (file.ShowDialog() == System.Windows.Forms.DialogResult.OK) //choix du fichier  
                {
                    filePath = file.FileName; //Chemain d'accées au fichier Excel  
                    fileExt = Path.GetExtension(filePath); //Recupérer l'extension du fichier  
     
                    if (fileExt.CompareTo(".xls") == 0 || fileExt.CompareTo(".xlsx") == 0)
                    {
                        try
                        {
                            DataTable dtExcel = new DataTable();
                            dtExcel = ReadExcel(filePath, fileExt); //Lecture du fichier Excel 
                            textBox1.Text = filePath;
                            dataGridView1.DataSource = dtExcel;
                            dataGridView1.Refresh();
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message.ToString());
                        }
                    }
                    else
                    {
                        MessageBox.Show("Veuillez choisir l'extension .xls ou .xlsx", "Attention", MessageBoxButtons.OK, MessageBoxIcon.Error); //Message d'erreur type de fichier 
                    }
                }
                //Fin ouverture Fichier
     
            }
     
            private void Teste_Click(object sender, EventArgs e)
            {
                this.Close();
            }
     
            private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
            {
     
            }
        }
    }
    et voici l'interface graphique avec les messages de sortie

    Nom : interface.jpg
Affichages : 721
Taille : 415,1 Ko

    Merci

  2. #2
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

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

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 541
    Points
    10 541
    Billets dans le blog
    21
    Par défaut
    Bonjour,

    Citation Envoyé par Hamza Voir le message
    je n'arrive pas a ouvrir un fichier excel en VB
    Règle n°1 : "ça ne marche pas" ou "je n'arrive pas" ne nous aide pas ! La seule présence de la discussion nous montre qu'il y a un soucis. Il faut être plus explicite. Rien ne se passe, j'ai une exception, etc...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    using (OleDbConnection con = new OleDbConnection(conn))
    {
       try
       {
          OleDbDataAdapter oleAdpt = new OleDbDataAdapter("select * from [Sheet1$]", con); //Lecture de la feuille 1
          oleAdpt.Fill(dtexcel); //Fichier Excel enregistrée dans la variable
       }
       catch { }
    }
    Quand je vois cela, la première chose à faire est de virer ce catch afin d'avoir la remonté des erreurs. Car si on dit "en cas d'exception, on ne fait rien", il ne faut pas étonner... qu'il ne se passe rien en cas d'erreur ! L'exception remontée, tu auras déjà des informations pour diagnostiquer au mieux le problème
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  3. #3
    Membre habitué Avatar de Hamza
    Homme Profil pro
    Data Analyst
    Inscrit en
    Avril 2005
    Messages
    295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Data Analyst
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2005
    Messages : 295
    Points : 164
    Points
    164
    Par défaut
    Bonjour,

    Merci pour ton aide, le probleme été le nom de la page

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

Discussions similaires

  1. [Débutant] Charger un fichier excel précis dans un endroit précis
    Par Attila54 dans le forum VB.NET
    Réponses: 14
    Dernier message: 14/05/2012, 15h13
  2. Charger un fichier Excel
    Par Sarhaan dans le forum XNA/Monogame
    Réponses: 7
    Dernier message: 30/03/2010, 13h53
  3. Réponses: 0
    Dernier message: 26/11/2008, 12h20
  4. Charger un fichier excel depuis forms
    Par sphinx18 dans le forum Forms
    Réponses: 6
    Dernier message: 01/10/2008, 22h11
  5. Réponses: 6
    Dernier message: 21/05/2007, 09h56

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