Обратитесь к ответу здесь , который я изначально связал как комментарий.
new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)
Более подробно, файл не может быть прочитан при передаче FileInfo
в ExcelPackage
, если он используется другим процессом.
До версии 4.5.1 EPPlus , ExcelPackage
использует System.IO.File.ReadAllBytes
для загрузки файла. ReadAllBytes
использует неправильную настройку FileShare.Read
, поскольку Excel открывает файлы с использованием настройки FileShare.ReadWrite
.
Когда вы открываете уже открытый файл, вам также необходимо использовать такой же FileShare
параметр . Таким образом, используя FileStream
, вы можете указать правильный FileShare
.
Начиная с v4.5.1 , ExcelPackage
теперь делает это для вас сейчас при прохождении FileInfo
.