J'ai une application winforms qui charge dans des fichiers Excel pour l'analyse. Actuellement, afin d'ouvrir le fichier Excel, le fichier ne doit pas être déjà ouvert dans Excel sinon une exception FileIOException est levée lorsque j'essaie de charger dans le fichier.Comment ouvrir un fichier qui est ouvert dans une autre application
Ce que je voudrais faire est de permettre à ma demande de lire dans le fichier même si elle est ouverte dans Excel plutôt que de forcer l'utilisateur à fermer la feuille de calcul en premier. Notez que l'application en question a seulement besoin de lire le fichier et non d'y écrire.
Est-ce possible?
Je pense que le drapeau FileShare est pour l'autre cas - lorsque vous voulez permettre aux autres applications d'avoir accès au fichier – ChrisF
Ceci à partir des métadonnées: "Contient des constantes pour contrôler le type d'accès d'autres objets System.IO.FileStream peuvent avoir le même fichier " – ChrisF
Dans le cas de futurs ouvreurs, un FileShare.Read signifie" les futurs ouvreurs peuvent ouvrir le fichier pour la lecture ". Dans le cas d'ouvreurs passés, FileShare.Read signifie "ouvrir ce fichier pour moi seulement s'il a des ouvreurs passés qui l'ont ouvert en lecture seule". C'est pourquoi FileShare.ReadWrite doit être utilisé ici, car Excel ouvre le fichier en écriture. –