在Apache POI中出现错误AutoFilter

我有的问题是,当我尝试添加自动筛选器时,我得到另一个错误,不是如果我可以帮忙,在这里我离开代码,并感谢:

prueba.setAutoFilter(CellRangeAddress.valueOf((new AreaReference(new CellReference(0, 0), new CellReference(tmp.datos.size() - 1, tmp.columna.size() - 1))).formatAsString())); 

这是错误的:

 Exception in thread "main" java.lang.AbstractMethodError: org.apache.poi.xssf.usermodel.XSSFEvaluationWorkbook.get3DReferencePtg(Lorg/apac he/poi/ss/util/AreaReference; Lorg/apache/poi/ss/formula/SheetIdentifier;) Lorg/apache/poi/ss/formula/ptg/Ptg; at org.apache.poi.ss.formula.FormulaParser.createAreaRefParseNode(FormulaParser.jav a:614) at org.apache.poi.ss.formula.FormulaParser.parseRangeable(FormulaParser.java:449) at org.apache.poi.ss.formula.FormulaParser.parseRangeExpression(FormulaParser.java: 237) at org.apache.poi.ss.formula.FormulaParser.parseSimpleFactor(FormulaParser.java:112 6) at org.apache.poi.ss.formula.FormulaParser.percentFactor(FormulaParser.java:1086) at org.apache.poi.ss.formula.FormulaParser.powerFactor(FormulaParser.java:1073) at org.apache.poi.ss.formula.FormulaParser.Term(FormulaParser.java:1433) at org.apache.poi.ss.formula.FormulaParser.additiveExpression(FormulaParser.java:1533) at org.apache.poi.ss.formula.FormulaParser.concatExpression(FormulaParser.java:1517) at org.apache.poi.ss.formula.FormulaParser.comparisonExpression(FormulaParser.java:1474) at org.apache.poi.ss.formula.FormulaParser.unionExpression(FormulaParser.java:1454 at org.apache.poi.ss.formula.FormulaParser.parse(FormulaParser.java:1575) at org.apache.poi.ss.formula.FormulaParser.parse(FormulaParser.java:145) at org.apache.poi.xssf.usermodel.XSSFName.setRefersToFormula(XSSFName.java:195) at org.apache.poi.xssf.usermodel.XSSFSheet.setAutoFilter(XSSFSheet.java:3138) 

这里有三个问题。 首先,正如在这个Apache POI FAQ条目中所解释的那样

我可以混合不同版本的POIjar子吗?

不,这不支持。

所有使用的POIjar子必须来自相同的版本。 诸如poi-3.11.jar和poi-ooxml-3.9.jar的组合不被支持,并且将不能以不可预知的方式工作。

所以,正如你所说的,你有3.9和3.11的混合jar,那是你的问题,不支持。 所有的jar子需要是相同的版本

其次,如评论中所讨论的,如果您无法确定您正在使用哪种POIjar,则需要按照本POI常见问题解答条目中的说明来准确描述您的情况,其中有方便的代码可帮助您find所需的jar真的在使用,这可能不是你打算使用的!

最后,还有一个关于java.lang.NoClassDefFoundError的POI常见问题:javax / xml / stream / XMLEventFactory.newFactory()]]( http://poi.apache.org/faq.html#faq-N1017E ) 。 我会build议一个更新,更less破JVM,但一个新的POI(夜间,或3.12testing版2)应该有一个解决方法

基本上, Apache POI FAQ页面已经完全覆盖了…