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 :

Récupérer valeur dans fichier Excel


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 126
    Par défaut Récupérer valeur dans fichier Excel
    Bonjour,

    j'ai le même problème j'aimerai lire dans un fichier Excel. J'ai beau chercher de partout je ne vois pas pourquoi je n'arrive pas à afficher la valeur que je récupère.
    Voila 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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
            private object Missing = System.Reflection.Missing.Value;
            private Excel.Application App_exc_lecture;
            private Excel.Workbook Classeur_exc_lecture;
            private Excel.Sheets AllFeuilles_exc_lecture;
            private Excel.Worksheet Feuille_ItemOPC_lecture;
            private Excel.Range Range_exc_lecture;
     
                try
                {
                    App_exc_lecture = new Excel.Application();
                }
                catch (Exception)
                {
                    MessageBox.Show("ATTENTION ! Application Excel introuvable");
                    return;
                }
     
                // Ouverture classeur
                try
                {
                    App_exc_lecture.Workbooks.Close();
                    Classeur_exc_lecture =
                    App_exc_lecture.Workbooks.Open(NomFichierExcelRep,    Missing,Missing,Missing, Missing,Missing, Missing, Missing, Missing,Missing, Missing, Missing, Missing,Missing, Missing);
     
                    AllFeuilles_exc_lecture = Classeur_exc_lecture.Sheets;
     
                    Feuille_ItemOPC_lecture =    (Excel.Worksheet)AllFeuilles_exc_lecture["Etors"]; // Feuille
                    Range_exc_lecture =   Feuille_ItemOPC_lecture.get_Range("A2","H5000"); //Lignes 2 à fin   
     
                    MessageBox.Show(Feuille_ItemOPC_lecture.Cells[3,4].ToString());
                }
                catch (Exception)
                {
                    MessageBox.Show("PROBLEME : Classeur " + NomFichierExcelRep + " introuvable ");
                    return;
                }
                finally // a faire toujours
                {
                    // Fermeture classeur
     
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(Classeur_exc_lecture);
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(App_exc_lecture);
                    GC.Collect(); // Force le garbage collector à nettoyer les process
                }
    Voyez vous pourquoi ca ne fait rien ? et que je récupère l'exception ?

    Merci d'avance!

  2. #2
    Membre éprouvé Avatar de Antho42
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Par défaut
    C'est laquelle d'exception qui est lancée ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "ATTENTION ! Application Excel introuvable"
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "PROBLEME : Classeur " + NomFichierExcelRep + " introuvable "
    ?

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 126
    Par défaut
    c'est la deuxième ...

    en fait la partie ouverture du fichier marche correctement apparemment,

    c'est au moment de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     Feuille_ItemOPC_lecture = (Excel.Worksheet)AllFeuilles_exc_lecture["Etors"]; // Feuille
    que je récupère la deuxième exception.
    Pourtant j'ai bien l'onglet "Etors" dans mon fichier excel...

  4. #4
    Membre éprouvé Avatar de Antho42
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Par défaut
    Citation Envoyé par Emyleet Voir le message
    c'est la deuxième ...

    en fait la partie ouverture du fichier marche correctement apparemment,

    c'est au moment de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     Feuille_ItemOPC_lecture = (Excel.Worksheet)AllFeuilles_exc_lecture["Etors"]; // Feuille
    que je récupère la deuxième exception.
    Pourtant j'ai bien l'onglet "Etors" dans mon fichier excel...
    Par onglet tu veux dire feuille j'imagine...
    Essaye un peu de rajouter un $ à la fin du nom de ta feuille, style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     Feuille_ItemOPC_lecture = (Excel.Worksheet)AllFeuilles_exc_lecture["Etors$"];
    Dis-moi quoi

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 126
    Par défaut
    En fait je viens de trouver pourquoi je ne trouve pas la feuille ... :s
    En fait cette feuille s'appelle Etors+"" avec un espace à la fin ... :/

    Bon mais par contre maintenant quand je souhaite afficher la cellule 3,4 en faisant ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MessageBox.Show(Feuille_ItemOPC_lecture.Cells[3, 4].ToString());
    J'ai le message suivant : System._ComObject

    Tu vois pourquoi ?

  6. #6
    Membre éprouvé Avatar de Antho42
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Par défaut
    Oui je vois pourquoi ...
    Tu as la réponse sur MSDN

    Et il faudrait voir plus particulièrement le modèle objet Excel.

    Je dirais, de mémoire, que tu dois faire quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Feuille_ItemOPC_lecture.Cells[3, 4].Range.Text

Discussions similaires

  1. Réponses: 13
    Dernier message: 25/03/2013, 15h58
  2. récupérer valeurs dans nom de fichier
    Par bubulle29 dans le forum MATLAB
    Réponses: 1
    Dernier message: 19/05/2009, 11h49
  3. Rechercher une valeur dans fichier Excel depuis VBA Access
    Par tribaleur dans le forum VBA Access
    Réponses: 1
    Dernier message: 16/07/2008, 14h10
  4. Réponses: 6
    Dernier message: 28/12/2007, 22h34
  5. Exporter résultats dans fichier excel [forms 6i]
    Par OUALASS dans le forum Forms
    Réponses: 4
    Dernier message: 30/05/2006, 19h38

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