2014-05-11 70 views
0

我正在使用excellibrary來處理excel文件。 現在打開我使用使用excellibrary以共享模式打開文件

ef = Workbook.Load(file) 

的文件,但如果該文件被打開somwhere否則在其他應用程序,當我試圖訪問它,我得到的消息:

該進程無法訪問該文件' \ OFFICE \ MyDocumentsWD \ VB2010 \ Projects \ Excel文件檢查器\ Excel文件檢查器\ Test1.xls',因爲它正在被另一個進程使用。

我知道使用的StreamReader時,你可以使用文件共享選項,我不知道是否有excellibrary工作時有類似的選項?還是有解決方法來完成相同的?

回答

1

工作簿支持流,因此您有幾個選項。

我想你應該打開該文件到內存流,然後從該內存流加載像這樣的東西:

MemoryStream memory = new MemoryStream(file); 
ef = Workbook.Load(memory); 

另外,你應該能夠使用FILESTREAM這樣加載文件:

FileStream fileStream = new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.Read); 
ef = Workbook.Load(fileStream); 
+0

非常感謝,FileStream解決方案效果很好。 – user2824519

相關問題