我使用excellibrary来处理excel文件。 现在打开我正在使用的文件
ef = Workbook.Load(file)
但是当我尝试访问它时,如果该文件在另一个应用程序中的其他位置打开,我会收到消息:
该进程无法访问文件' \ OFFICE \ MyDocumentsWD \ VB2010 \ Projects \ Excel文件检查器\ Excel文件检查器\ Test1.xls'因为它正被另一个进程使用。
我知道在使用streamreader时你可以使用fileshare选项,我想知道在使用excellibrary时是否有类似的选项?或者有解决方法来实现同样的目标吗?
答案 0 :(得分:1)
工作簿确实支持流,因此您有几个选项。
我认为您应该将文件打开到内存流中,然后使用以下内容从该内存流加载:
MemoryStream memory = new MemoryStream(file);
ef = Workbook.Load(memory);
或者,您应该能够使用如下文件流加载文件:
FileStream fileStream = new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.Read);
ef = Workbook.Load(fileStream);