我使用 WorkbookFactory.create(new File("path/to/xlsx"))
构建了一个新的工作簿。但是,当我在启动应用程序后尝试在 Excel 中编辑文件时,我收到一条错误消息,指出该文件正在使用中。我是否必须释放文件,如果是,如何释放? (我在 api 文档中找不到类似 Workbook.close()
的内容)或者我必须在其他地方查看吗?
我不知道还有什么地方可以看;该应用程序不会导致 csv 出现这些问题,对于 excel 文件,我只是调用转换器 (xls => csv),这是唯一的区别。
(我正在使用 POI 3.8)
原文由 ted 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您需要完全控制资源何时关闭,您应该自己预先创建 OPCPackage,并将其传递到 WorkbookFactory。 OPCPackage 提供了您想要的关闭方法。工作簿将保持打开状态,直到垃圾收集
您的代码看起来像: