2014-08-27 116 views
0

我試圖編輯一個打開的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庫。

+0

那麼你顯然不能使用被另一個進程鎖定的文件......你可能會嘗試複製一個文件,對其進行更改並等待原始文件不再被鎖定。 – walther 2014-08-27 14:36:18

+0

是否有可能殺死用戶進程? – 2014-08-27 14:37:33

+0

理論上可以肯定的是,如果您有權訪問他的機器並且擁有正確的權限,但我想這在網絡上會有點棘手。 – walther 2014-08-27 14:39:23

回答

0

谷歌允許同時進行多個編輯...也許你應該嘗試在那裏移動那個文件,如果可能的話。

+0

這是一個機密文件 – 2014-08-27 14:43:37

+0

這些雲驅動器解決方案具有控制安全性,像GDrive一樣,只能與特定的人分享。 當然,你需要爲安全起見,例如gmail,hotmail等等。 無論如何,我知道在企業內部可能很難實施。 祝你好運 – iTekExpert 2014-08-27 14:56:28

1

你不能。這就是說你可以看看一些「源代碼安全」的解決方案(如svn,sharepoint或谷歌文檔)。您還可以實施一些「窮人」源代碼,以確保您自己的安全 - 即作爲代理通過文件系統&的小型Web應用程序將允許您上載文件,列表文件夾,下載文件。

其他選項是將更新延遲到沒有人會訪問該文件的日期。

相關問題