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 :

Import Excel dans DataGrid [Débutant]


Sujet :

C#

  1. #1
    Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Points : 49
    Points
    49
    Par défaut Import Excel dans DataGrid
    Bonjour à tous voici un petit bout de code pour importer un fichier excel dans un datagrid
    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
     
    OpenFileDialog openFileDialog = new OpenFileDialog();
                openFileDialog.ShowDialog();
                string nomFichier = openFileDialog.FileName;
     
                DataSet dataSet2 = new DataSet();
     
                using (OleDbConnection Conn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" + nomFichier + " ';Extended Properties=\"Excel 12.0;\""))
                {
                    Conn.Open();
     
                    using (OleDbDataAdapter Adap = new OleDbDataAdapter(@"select * FROM [Feuil1$]", Conn))
                    {
                      Adap.Fill(dataSet2, "DataBinding");                 
                     dataGrid.DataContext = dataSet2;                   
                    }
                    Conn.Close();
     
                    foreach (DataRow row in dataSet2.Tables[0].Rows)
                   {
                        MessageBox.Show(row[0].ToString());
                    }
                }
    Le nom de la colonne 1 est bien affichée dans la datagrid mais pas les valeurs en dessous ...
    Pourtant toutes les valeurs sont bien importées, elles sont présentes dans le dataset(j'ai vérifié avec la boucle sur le dataset2)
    Merci pour votre aide..
    Greg

  2. #2
    Membre du Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Avril 2015
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Avril 2015
    Messages : 90
    Points : 49
    Points
    49
    Par défaut
    Bonjour à tous,
    Bon ce code fonctionne bien , autant pour moi....
    Voici un code pour du csv, si ça peut intéresser des débutant comme moi...
    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
     private void Bt_Import_CSV_Click(object sender, RoutedEventArgs e)
            {
     
                OpenFileDialog openFileDialog = new OpenFileDialog();
                openFileDialog.ShowDialog();
                string nomFichier = openFileDialog.FileName;
                DataTable dt = GetDataTabletFromCSVFile(nomFichier);
     
                dataGrid.ItemsSource = dt.DefaultView;
     
            }
            //csv to DataTable
            private static DataTable GetDataTabletFromCSVFile(string csv_file_path)
            {
                DataTable csvData = new DataTable();
                try
                {
                    using (TextFieldParser csvReader = new TextFieldParser(csv_file_path))
                    {
                        csvReader.SetDelimiters(new string[] { ";" });
                        csvReader.HasFieldsEnclosedInQuotes = true;
                        string[] colFields = csvReader.ReadFields();
                        foreach (string column in colFields)
                        {
                            DataColumn datecolumn = new DataColumn(column);
                            datecolumn.AllowDBNull = true;
                            csvData.Columns.Add(datecolumn);
                        }
                        while (!csvReader.EndOfData)
                        {
                            string[] fieldData = csvReader.ReadFields();
                            //Making empty value as null
                            for (int i = 0; i < fieldData.Length; i++)
                            {
                                if (fieldData[i] == "")
                                {
                                    fieldData[i] = null;
                                }
                            }
                            csvData.Rows.Add(fieldData);
                        }
                    }
                }
                catch (Exception ex)
                {
     
                }
                return csvData;
            }
    Bonne journée a tous Greg

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

Discussions similaires

  1. importation excel dans sous formulaire
    Par emmablue dans le forum Access
    Réponses: 1
    Dernier message: 23/07/2007, 18h13
  2. Importer excel dans Oracle?
    Par wormseric dans le forum Oracle
    Réponses: 7
    Dernier message: 02/05/2007, 15h16
  3. [Automation]pb import excel dans access
    Par zeloutre dans le forum VBA Access
    Réponses: 2
    Dernier message: 13/04/2007, 11h16
  4. Import Excel dans table Existante
    Par Alpha31 dans le forum Access
    Réponses: 1
    Dernier message: 12/06/2006, 20h37
  5. problème d'importation excel dans access
    Par Badboy62cfp dans le forum Access
    Réponses: 6
    Dernier message: 09/05/2006, 16h17

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