2014-04-15 85 views
0

有沒有辦法從只讀文件讀取二進制數據?我有一個Excel工作表,可能會在Excel中打開,但我想打開它僅用於讀取目的。讀取已打開的文件

我試圖做這樣說:

using (FileStream fileStream = File.Open(filepath, FileMode.Open, FileAccess.Read, FileShare.Read)) 

而且我越來越

該進程無法訪問該文件「something.xlsx」,因爲它正由另一個進程使用。

有什麼辦法可以達到這個目的嗎?

+0

[打開已打開文件時出現異常]的可能重複(http://stackoverflow.com/questions/3846646/exception-in-opening-a-file-that-is-already-open) –

回答

3

變化這種說法:

FileShare.Read 

這樣:

FileShare.ReadWrite 

你正嘗試拒絕對該文件的寫入訪問權限,這會導致您的問題,因爲Excel已經開放寫入。

+0

做了這份工作。謝謝 – eddyuk

0

您無法打開已經打開的文件。打開後請小心關閉文件。你應該確認你沒有在其他軟件使用的文件(在同一時間)...