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 :

Ouvrir un fichier Excel (C#) [Débutant]


Sujet :

Windows Forms

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Ouvrir un fichier Excel (C#)
    Salut ,
    J'ai besoin de créer une application qui permet d'ouvrir un fichier excel.
    Le principe est très simple : Lorsqu'on appuie sur le bouton le Fichier dont le chemin d'accès désigné s'ouvre.

    Mais le soucis est que lorsque j' exécute mon programme je rencontre une erreur.
    Nom : Erreur Excel.PNG
Affichages : 1836
Taille : 3,9 Ko

    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
     
    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.Windows.Forms;
     
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                System.Diagnostics.Process.Start("EXCEL.EXE",@"‪C:\Test0.xlsx"); 
            }
        }
    }
    Ligne 23: System.Diagnostics.Process.Start("EXCEL.EXE",@"‪C:\Test0.xlsx");
    Besoin d'un coup de main !
    Merci d'avance !!!!!!!

  2. #2
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    pourquoi y'a le caractère d'inversion avant ton nom de fichier dans l'extrait de code fourni ?
    Plus je connais de langages, plus j'aime le C.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    @"‪C:\Users\Hamidou GAMBO\Desktop\TestFile.xlsx"

    Franchement je sais pas pourquoi ce caractère '@' est placé à cette endroit, je l'ai trouvé sur le net comme ça
    vu que je suis un débutant je l'ai pris tel qu'il est.

  4. #4
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Le caractère dont je parle c'est celui-ci :
    Le @ signifie que les antislash ne doivent pas être considérés comme caractère d'échappement, ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    string path = @"C:\folder\subdir\file.ext";
    // est équivalent à 
    string path = "C:\\folder\\subdir\\file.ext";
    Pour ton erreur je vois deux possibilités :
    - le fichier n'existe réellement pas,
    - ton path contient des espaces.
    Plus je connais de langages, plus j'aime le C.

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Pour ces caractères, c'est lorsque j'ai copié le code dans le FORUM qu'ils ont apparus.
    Dans le programme ça n'existe pas.
    Nom : Code.PNG
Affichages : 1856
Taille : 7,2 Ko

    Et en ce qui concerne mon fichier il existe.
    J'ai même essayé avec d'autres fichiers à des emplacements différents
    J'ai essayé aussi avec le pc de mon ami
    Mais c'est toujours le même problème.
    Images attachées Images attachées  

  6. #6
    Membre confirmé
    Avatar de nouanda
    Homme Profil pro
    Hobbyist
    Inscrit en
    Mai 2002
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Australie

    Informations professionnelles :
    Activité : Hobbyist

    Informations forums :
    Inscription : Mai 2002
    Messages : 246
    Points : 627
    Points
    627
    Par défaut
    Si Excel ne trouve pas le fichier, c'est qu'il n'existe pas, ou qu'Excel lui même a un problème.
    Essaye de le faire depuis une invite de commande, est-ce que tu as la même erreur?

    Sinon, ajoute un test d'existence du fichier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
                 if (File.Exists(@"c:\truc.xlsx"))
                {
                    Process.Start("Excel.exe", @"c:\truc.xlsx");
                }
                else
                {
                    MessageBox.Show("Fichier introuvable");
                }
    " Entre le Savoir et le Pouvoir, il y a le Vouloir "

    Desole pour les accents, je suis en QWERTY...

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Nouanda

    1_J'ai essayé ton code,ça me donne Fichier introuvable.
    2_J'ai donc essayé d'ouvrir le fichier à partir de l'invité de commande en utilisant le chemin d'accès, le fichier s'ouvre.
    3_Mais je n'arrive toujours pas à comprendre pourquoi le fichier ne s'ouvre pas à partir de mon application.

  8. #8
    Membre confirmé
    Avatar de nouanda
    Homme Profil pro
    Hobbyist
    Inscrit en
    Mai 2002
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Australie

    Informations professionnelles :
    Activité : Hobbyist

    Informations forums :
    Inscription : Mai 2002
    Messages : 246
    Points : 627
    Points
    627
    Par défaut
    Si ton application ne trouve pas le fichier, il y a deux options:
    • il y a une différence entre ce que tu tapes à l'invite de commande et le chemin que tu donnes à ton application
    • tu n'as pas les droits d'accès sur le fichier.


    Selon la doc de File.Exists:
    Si l'appelant n'a pas les autorisations suffisantes pour lire le fichier spécifié, aucune exception n'est levée et la méthode retourne false, indépendamment de l'existence de path.
    Comme le fichier est à la racine du système, le problème vient peut-être de là. Essaye de le mettre dans un autre répertoire pour voir.
    " Entre le Savoir et le Pouvoir, il y a le Vouloir "

    Desole pour les accents, je suis en QWERTY...

  9. #9
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Le chemin d'accès du fichier utilisé dans le DOS est pareil que celui utilisé dans le programme. Pour éviter de faire une erreur de saisie je copie le chemin d'accès du fichier à partir des propriétés de ce dernier.
    Quant à l'emplacement du fichier, j'ai essayé plusieurs emplacements. Et plusieurs noms aussi.
    Je sais pas trop quoi faire, ça fait maintenant deux semaines que galère avec ce truc.
    Je voudrais savoir si tu (Nouanda) as déjà tester ce code sur ton PC, et quel a été le résultat ?

  10. #10
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Pour vérifier un éventuel problème de droit, as-tu essayé de lancer ton appli en mode admin ?
    Plus je connais de langages, plus j'aime le C.

  11. #11
    Membre confirmé
    Avatar de nouanda
    Homme Profil pro
    Hobbyist
    Inscrit en
    Mai 2002
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Australie

    Informations professionnelles :
    Activité : Hobbyist

    Informations forums :
    Inscription : Mai 2002
    Messages : 246
    Points : 627
    Points
    627
    Par défaut
    Citation Envoyé par GAMBSON Voir le message
    Je voudrais savoir si tu (Nouanda) as déjà tester ce code sur ton PC, et quel a été le résultat ?
    Je l'ai essayé, et ça marche (je ne poste jamais un bout de code sans l'avoir essayé - c'est pour ça que j'édite souvent mes messages aussi...). Mais je suis administrateur de mon PC, VS tourne en mode admin et exécute les applis en mode admin.

    On va trouver, t'inquiète!!

    Crée une nouvelle application console, et mets ca dans le main (en remplaçant truc.xlsx par ton fichier bien sûr)
    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
                try
                {
                    FileInfo fi = new FileInfo(@"C:\truc.xlsx");
                    if (fi.Exists)
                    {
                        Console.WriteLine(fi.Attributes.ToString());
                    }
                    else
                    {
                        Console.WriteLine("c'est vraiment bizarre");
                    }
                }
                catch(Exception e)
                {
                    Console.WriteLine(e.Message);
                }
                Console.ReadLine();
    Ça te donne quoi?
    " Entre le Savoir et le Pouvoir, il y a le Vouloir "

    Desole pour les accents, je suis en QWERTY...

  12. #12
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Une idée comme cela. Si tu vas dans l'Explorateur Windows et que tu ouvres l'Onglet sécurité des propriétés de ton fichier, est-ce que le compte que tu utilises pour exécuter ton fichier a les droits d'accès requis ?

    Sinon, tu dois probablement faire la modification dans Windows.


    En passant, dans l'exemple microsoftien de cette page, il n'y as pas de "@"

    Et quand je passe par Exécuter cela fonctionne comme cela sans @:

    excel.exe "C:\Users\Clement Marcotte\Documents\arrondir.xls"

    Donc le @ n'est visiblement pas demandé par Excel
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  13. #13
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Réponse à Nouanda

    J'ai créé une nouvelle Application Console

    Après Compilation, j'obtiens le résultat suivant :

    Nom : Res_Console.PNG
Affichages : 1760
Taille : 3,2 Ko


    Ensuite, j'ai inséré le code ci_dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.Diagnostics.Process.Start("EXCEL.EXE", @"C:\Liste.xlsx");
    mon fichier Excel s'ouvre correctement.
    J'ai essayé également avec une nouvelle Application Windows Form et ça marche sans problème.

    Je n'arrive pas à Comprendre où était le problème.

  14. #14
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juillet 2014
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Mon application fonctionne maintenant comme je voulais,
    J'ai gagné du temps, et je suis passé à l'étape suivante.

    Merci à toi Nouanda et tous ceux qui ont participés à cette discussion.

  15. #15
    Membre confirmé
    Avatar de nouanda
    Homme Profil pro
    Hobbyist
    Inscrit en
    Mai 2002
    Messages
    246
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Australie

    Informations professionnelles :
    Activité : Hobbyist

    Informations forums :
    Inscription : Mai 2002
    Messages : 246
    Points : 627
    Points
    627
    Par défaut
    Ravi d'avoir pu aider.

    Pense à passer ta question en "Résolu".
    " Entre le Savoir et le Pouvoir, il y a le Vouloir "

    Desole pour les accents, je suis en QWERTY...

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

Discussions similaires

  1. [VB]ouvrir un fichier excel
    Par elasfer dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/10/2005, 09h31
  2. ouvrir un fichier excel coté client
    Par youss dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 27/07/2005, 14h42
  3. comment ouvrir un fichier excel ?
    Par vdavid1982 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 13/07/2005, 12h05
  4. ouvrir un fichier Excel avec une requete perso
    Par legillou dans le forum Access
    Réponses: 9
    Dernier message: 21/06/2005, 15h14
  5. Ouvrir un fichier excel depuis access
    Par ptitegrenouille dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 03/05/2005, 11h47

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