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 :

Lire fichers Excel avec Mot de passe


Sujet :

C#

  1. #1
    En attente de confirmation mail
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 123
    Points : 82
    Points
    82
    Par défaut Lire fichers Excel avec Mot de passe
    Bonjour,

    Je dois réaliser un petit programme entièrement automatique (donc sans intervention utilisateur) me permettant de lire des fichiers Excel. J'ai consulté la FAQ et je tombe sur ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    string filePath = @"C:\Classeur1.xls";
    _Application application = new ApplicationClass();
    _Workbook workbook = application.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);
    Or pour des fichiers Excels protégé avec des mots de passe, bien qu'il existe la propriété 'HasPassword' , je suis obligé préalablement d'ouvrir mon fichier avec 'Open', ce qui provoque l'affichage d'excel me demandant le mot de passe.

    Ai-je rater qqchose? Existe-t-il une autre solution qui me permettrait de tester si le fichier excel est protégé ?

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2008
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 337
    Points : 456
    Points
    456
    Par défaut
    Oui tu as raté le paramètre Password à passer dans la méthode Open.

    Bonne continuation a+

  3. #3
    En attente de confirmation mail
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 123
    Points : 82
    Points
    82
    Par défaut
    Justement je ne sais pas d'avance si mon fichier Excel va contenir un password ou non, donc par defaut je met Type.Missing.

    Ce que je voudrais c'est l'ouvrir, vérifier si il y a un password, arrêter le traitement si c'est la cas ou continuer si il n'y a pas de password.

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    si l'open d'un fichier avec mot de passe plante, un try catch pourra t'aider

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2008
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 337
    Points : 456
    Points
    456
    Par défaut
    Non le try catch ne servira pas car le open marche mais il demande le mot de passe a l'utilisateur.

    Ouvre le fichier, test hasPassword si il est à true tu le refermes pui tu fait un open avec le password.
    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
     
    string filePath = @"C:\Classeur1.xls";
    objet passWord = "monPass";
    _Application application = new ApplicationClass();
    _Workbook workbook = application.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);
    if(workbook.HasPassword)
    {
    workbook.Close(Type.Missing,Type.Missing,Type.Missing);
     workbook = application.Workbooks.Open(filePath, Type.Missing,Type.Missing, Type.Missing,                                    passWord, Type.Missing, Type.Missing, Type.Missing,
    Type.Missing, Type.Missing, Type.Missing, Type.Missing,
    Type.Missing, Type.Missing, Type.Missing);
     
    }
    Excel._Workbook xlClasseur;
    bonne continuation.

  6. #6
    En attente de confirmation mail
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 123
    Points : 82
    Points
    82
    Par défaut
    En fait des qu'on fait un open sur le fichier, Excel apparait et demande le mot de passe, j'ai même pas le temps de tester la propriété HasPassword.

    En fait, c'est bête mais la solution de Pol63 fonctionne. Je suis assez surpris, je catche l'erreur 'mauvais mot de passe' et je peux arrêter mon traitement , j'aurai pensé à qqchose d'un peu plus propre genre test de la propriété HasPassword qd même

  7. #7
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2008
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 337
    Points : 456
    Points
    456
    Par défaut
    Bizarre mais l'erreur arrive quand tu commences ton traitement alors?

  8. #8
    En attente de confirmation mail
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 123
    Points : 82
    Points
    82
    Par défaut
    oui je suis d accord avec toi, c 'est bizarre!

    En effet Excel s'ouvre des que je fais le 'open' avec le path du fichier excel en paramètre et si on met un mot de passe vide "", il plante en disant mauvais mot de passe, c'est la qu'on catch l'erreur.
    De plus pour les fichiers non protégés, mettre une chaine vide au niveau du paramètre 'mot de passe' ne provoque pas d'erreur.

    Je suis un peu surpris du mode de fonctionnement!!

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

Discussions similaires

  1. [AC-2010] lire une base .accd contenant les données AVEC MOT DE PASSE à partir d'excel
    Par mister red dans le forum Sécurité
    Réponses: 1
    Dernier message: 15/03/2015, 16h36
  2. [PHP 5.4] Export vers Excel avec mot de passe
    Par ngatech dans le forum Langage
    Réponses: 3
    Dernier message: 10/03/2014, 00h42
  3. [WD18] ouvrir classeur excel avec mot de passe depuis windec
    Par fffttt dans le forum WinDev
    Réponses: 2
    Dernier message: 08/10/2013, 08h21
  4. Objet OLE WORD et EXcel avec mot de passe
    Par willich dans le forum Modélisation
    Réponses: 2
    Dernier message: 28/05/2007, 14h22
  5. [VB.NET] Fichier Excel vérouillé avec mot de passe
    Par rafano dans le forum ASP.NET
    Réponses: 2
    Dernier message: 10/06/2004, 14h36

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