我試圖編輯一個打開的excel文件(由共享網絡中的另一個用戶),以便對其進行一些更改並將其保存回來。但是,當我試圖打開我得到以下錯誤文件:當Excel文件被其他用戶打開時寫入
Message=The process cannot access the file
'Y:\COMMON\SharedFolders\Export.xlsx', because it is being used by another process.
Source=mscorlib
StackTrace:
à System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
à System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
à System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
à System.IO.File.InternalReadAllBytes(String path, Boolean checkHost)
à System.IO.File.ReadAllBytes(String path)
à OfficeOpenXml.ExcelPackage.ReadFile()
à OfficeOpenXml.ExcelPackage.ConstructNewFile(Stream stream, String password)
à OfficeOpenXml.ExcelPackage..ctor(FileInfo newFile)
順便說一句,我使用的EPPLUS庫。
那麼你顯然不能使用被另一個進程鎖定的文件......你可能會嘗試複製一個文件,對其進行更改並等待原始文件不再被鎖定。 – walther 2014-08-27 14:36:18
是否有可能殺死用戶進程? – 2014-08-27 14:37:33
理論上可以肯定的是,如果您有權訪問他的機器並且擁有正確的權限,但我想這在網絡上會有點棘手。 – walther 2014-08-27 14:39:23