通过Apache POI、EasyPOI导出或导入EXCEL提示各种错误,本地MacOS及WIndows通过JAR运行都没问题,上传到生产CENTOS+WAR包跑的时候有问题,一步步遇到的主要错误有如下:
java.lang.NoSuchMethodError: org/apache/poi/ss/usermodel/Cell.getCellType()Lorg/apache/poi/ss/usermodel/CellType
包版本不兼容或POI版本不兼容
java.io.IOException: org/apache/commons/compress/archivers/zip/ZipArchiveInputStream
缺少compress包或compress版本过低
org.apache.poi.ooxml.POIXMLException: org/apache/xmlbeans/XmlOptions.setEntityExpansionLimit
缺少xmlbeans包或版本过低
java.lang.NoSuchMethodError: org/apache/xmlbeans/XmlOptions.setEntityExpansionLim it(I)Lorg/apache/xmlbeans/XmlOptions; (loaded from )
缺少xmlbeans包或版本过低
以上都是因为POI相关的问题,少包或包冲突,不兼容。
修改前:
修改后:
所有相关包下载(优快云,需要积分):
https://download.youkuaiyun.com/download/programmer_sir/15729594
也可以考虑去Apache官网下载,但是服务器在国外网络真的差,下载慢还掉包,以下是我通过优快云下载的包挨个调试,费了很多积分。