有沒有辦法從只讀文件讀取二進制數據?我有一個Excel工作表,可能會在Excel中打開,但我想打開它僅用於讀取目的。讀取已打開的文件
我試圖做這樣說:
using (FileStream fileStream = File.Open(filepath, FileMode.Open, FileAccess.Read, FileShare.Read))
而且我越來越
該進程無法訪問該文件「something.xlsx」,因爲它正由另一個進程使用。
有什麼辦法可以達到這個目的嗎?
有沒有辦法從只讀文件讀取二進制數據?我有一個Excel工作表,可能會在Excel中打開,但我想打開它僅用於讀取目的。讀取已打開的文件
我試圖做這樣說:
using (FileStream fileStream = File.Open(filepath, FileMode.Open, FileAccess.Read, FileShare.Read))
而且我越來越
該進程無法訪問該文件「something.xlsx」,因爲它正由另一個進程使用。
有什麼辦法可以達到這個目的嗎?
變化這種說法:
FileShare.Read
這樣:
FileShare.ReadWrite
你正嘗試拒絕對該文件的寫入訪問權限,這會導致您的問題,因爲Excel已經開放寫入。
做了這份工作。謝謝 – eddyuk
您無法打開已經打開的文件。打開後請小心關閉文件。你應該確認你沒有在其他軟件使用的文件(在同一時間)...
[打開已打開文件時出現異常]的可能重複(http://stackoverflow.com/questions/3846646/exception-in-opening-a-file-that-is-already-open) –