Tengo una aplicación de winforms que se carga en archivos de Excel para su análisis. Actualmente, para abrir el archivo de Excel, el archivo no debe estar ya abierto en Excel; de lo contrario, se genera una excepción FileIOException cuando intento cargar el archivo.Cómo abro un archivo que se abre en otra aplicación
Lo que me gustaría hacer es permitir que mi aplicación lea en el archivo, incluso si está abierto en Excel en lugar de forzar al usuario a cerrar primero la hoja de trabajo. Tenga en cuenta que la aplicación en cuestión solo necesita leer el archivo, no escribir en él.
¿Esto es posible?
Creo que el indicador FileShare es para el otro caso - cuando desea permitir que otras aplicaciones tengan acceso al archivo – ChrisF
Esto desde los metadatos: "Contiene constantes para controlar el tipo de acceso otros objetos System.IO.FileStream pueden tener el mismo archivo " – ChrisF
En el caso de los abridores futuros, un FileShare.Read significa que los abridores futuros pueden abrir el archivo para su lectura". En el caso de abridores anteriores, FileShare.Read significa "abrir este archivo solo si tiene abridores anteriores que lo abrieron solo para lectura". Es por eso que FileShare.ReadWrite necesita ser utilizado aquí, porque Excel abre el archivo para escritura. –