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 :

Analyser Fichier XLS - Récupérer première Feuille


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

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

    Informations forums :
    Inscription : Janvier 2013
    Messages : 28
    Points : 22
    Points
    22
    Par défaut Analyser Fichier XLS - Récupérer première Feuille
    Salut à tous .
    Donc mon problème est un tout petit peu plus complexe que l'ancien ^^


    En claire j'ai un bouton qui me permet de choisir un fichier XLS , et je lui dit d'analyser deux cellule de telle feuille

    Mais le problème est que je ne comprend pas trop comment faire pour lui dire de sélectionner la feuille par Default
    J'utilise :

    using Excel = Microsoft.Office.Interop.Excel;

    et dans mon code :

    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
       public void OuvrirFichierXls()
            {
                // EXCEL EXCEL EXCEL
                OpenFileDialog f = new OpenFileDialog(); //création d'une fenetre d'exploration 
                f.ShowDialog(); // affichage de cette fenetre 
                string chemin = f.FileName; // on r
     
                string filePath = chemin;
             //  string pathhh =  Path.GetFileNameWithoutExtension(filePath);   POUR AVOIR CHEMIN SANS EXTENSION
                if (chemin == "")
                {
                    MessageBox.Show("Veuillez choisir un fichier");
                }
                else
                {
                    string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties=\"Excel 8.0\";";
                    OleDbConnection connection = new OleDbConnection(connectionString);
                    string cmdText = "SELECT * FROM []";
                    OleDbCommand command = new OleDbCommand(cmdText, connection);
                    //////////////////////////////
                    command.Connection.Open();
                    OleDbDataReader reader = command.ExecuteReader();
     
                    if (reader.HasRows)
                    {
                        while (reader.Read())
                        {
                            tbx_xl1.Text = reader[1].ToString();
                            tbx_xl2.Text = reader[0].ToString();
                        }
                    }
                }
     
            }
    Dans SELECT * FROM [] entre les crochet j'ai mit feuille1 , effectivement sa prend la feuille 1 mais le bémols c'est que mes fichier ont des noms crée automatiquement mais ils ont tous le même préfixe

    Please Help me ! :$

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

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

    Informations forums :
    Inscription : Janvier 2013
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Résolu a l'aide du Chat et de KreaProg et _Max_

    Voici la solution :

    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
    public void OuvrirFichierXls()
            {
               OpenFileDialog f = new OpenFileDialog(); //création d'une fenetre d'exploration 
                f.ShowDialog(); // affichage de cette fenetre 
                string chemin = f.FileName; // on r
                string filePath = chemin;
                if (chemin == "")
                {
                    MessageBox.Show("Veuillez choisir un fichier");
                }
                else
                {
                    Excel.Application oApp;
                    Excel.Workbook oWB;
                    Excel.Worksheet oSheet;
     
                    System.Reflection.Missing oMsng = System.Reflection.Missing.Value;
     
     
     
                    oApp = (Excel.Application)new Excel.Application();
                    oWB = (Excel.Workbook)oApp.Workbooks.Open(filePath, Type.Missing, Type.Missing, Type.Missing,
                                                                    Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                                                                     Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                                                                     Type.Missing, Type.Missing, Type.Missing);
                    oSheet = (Excel.Worksheet)oWB.ActiveSheet;
     
     
                    // tbx_xl1.Text = ((Excel.Range)oSheet.Cells[B,2]).Value2.ToString();
                    for (int i = 1; i < oSheet.Rows.Count + 1; i++)
                    {
                        // A la première cellule vide, sortir de la boucle :
                        if ((oSheet.Cells[i, 1] == null || ((Excel.Range)oSheet.Cells[i, 1]).Value2 == null))
                        {
                            break;
                        }
     
                        tbx_xl1.Text = ((Excel.Range)oSheet.Cells[i, 2]).Value2.ToString();
                        tbx_xl2.Text = ((Excel.Range)oSheet.Cells[i, 3]).Value2.ToString();
                        tbx_xl1.ReadOnly = true;
                        tbx_xl2.ReadOnly = true;
     
                    }
                }

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

Discussions similaires

  1. [XL-2010] Traiter plusieurs fichiers .xls de plusieurs feuilles
    Par ChipsAlaMenthe dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 26/06/2015, 14h30
  2. Réponses: 18
    Dernier message: 19/03/2014, 18h04
  3. [AC-2000] récupérer première feuille excel
    Par niko8181 dans le forum VBA Access
    Réponses: 1
    Dernier message: 26/04/2010, 10h02
  4. Réponses: 9
    Dernier message: 19/03/2006, 13h49
  5. [VBA] exportation vers une feuille précise d'un fichier xls
    Par Christophe93250 dans le forum Access
    Réponses: 2
    Dernier message: 10/01/2006, 15h36

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