0

我正在使用 excellibrary 来处理 excel 文件。现在打开我正在使用的文件

ef = Workbook.Load(file)

但是,如果当我尝试访问该文件时在另一个应用程序的其他地方打开该文件,我会收到以下消息:

该进程无法访问文件 '\OFFICE\MyDocumentsWD\VB2010\Projects\Excel File Checker\Excel File Checker\Test1.xls',因为它正被另一个进程使用。

我知道使用流式阅读器时可以使用文件共享选项,我想知道在使用 excellibrary 时是否有类似的选项?或者有没有解决方法来完成同样的事情?

4

1 回答 1

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);
于 2014-05-11T07:02:15.873 回答