我试图打开一个Excel文件(xls扩展名)
&Error = &FileExcel.Open(&FileName)
但是我得到了这个错误
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.NoSuchMethodError: 'org.apache.poi.poifs.filesystem.DirectoryNode org.apache.poi.poifs.filesystem.POIFSFileSystem.getRoot()
环境:
GX X EVO 3 U7
Ubuntu 20.04
Tomcat 9.0.31
Java版本:openjdk 11.0.17 2022-10-18
Java库处理MS Office:我尝试了两个不同的版本:
poi-ooxml-3.17.jar, poi-ooxml- schema3.17 .jar
poi-ooxml-3.8.jar, poi-ooxml-schema -3.8.jar
另外,我在无头模式下使用LibreOffice,我以这种方式启动:
sudo /usr/bin/soffice --nologo --headless --nofirststartwizard --accept='socket, host=127.0.0.1,port=8100;urp;StarOffice.Service' &
我遵循了下面描述的说明:
https://www5.genexus.com/xev3/scmain.aspx?S%3B178%3B94%3B1264%3B1%3B1%3BO%3B, 37721https://www5.genexus.com/xev3/scmain.aspx?S%3B178%3B94%3B1264%3B1%3B1%3BO%3B, 37721年
提前感谢您的支持。
我找到了解决方案:
我从之前的问题中得到的答案和这个问题是一样的:我在Tomcat9下工作,这个版本是systemd的沙盒状态,下面是解释。
在我的例子中,我正在读取的MS-Excel文件超出了Tomcat的范围,这是通过添加XLS的路径到文件/lib/systemd/system/tomcat9来解决的。
致意。