我正在从不同的网站上删除数据,我正在使用apache poi在excel中读取和写入数据。
我在writeWorkbook.close()方法中面临权限被拒绝(writeWorkbook是XSSFWorkbook的对象)。
我在做什么1)从网站读取数据2)将其写入特定的Excel工作表3)关闭文件输出流4)关闭XSSFWorkbook对象。 在第四步我得到了许可被拒绝的错误。
整个场景从jenkins到jar文件运行。 Jenkins拥有所有文件和目录的权限。
所以我错了什么和哪里。
谢谢
答案 0 :(得分:0)
您是如何在XSSFWorkbook中使用excel文件的?
完成对XSSFWorkbook的写入后,您只需关闭OPCPackage对象即可。您无需关闭该文件。
// XSSFWorkbook, File
OPCPackage pkg = OPCPackage.open(new File("file.xlsx"));
XSSFWorkbook wb = new XSSFWorkbook(pkg);
....
pkg.close();
docs表示:
使用完工作簿后,应该通过调用POIXMLDocument.close()来关闭包,以避免文件句柄处于打开状态。