我收到以下错误,如下所示
java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFSheet.addMergedRegion(Lorg/apache/poi/hssf/util/Region;)I
at net.sf.jasperreports.engine.export.JRXlsExporter.createMergeRegion(JRXlsExporter.java:440)
at net.sf.jasperreports.engine.export.JRXlsExporter.initCreateCell(JRXlsExporter.java:419)
at net.sf.jasperreports.engine.export.JRXlsExporter.createTextCell(JRXlsExporter.java:381)
at net.sf.jasperreports.engine.export.JRXlsExporter.exportText(JRXlsExporter.java:314)
at net.sf.jasperreports.engine.export.JRXlsAbstractExporter.exportPage(JRXlsAbstractExporter.java:381)
我正在使用下面的poi罐子,如类路径所示,还有jasperreports 1.2.5 jar请告知我已经将poi罐子从2.5升级到3,所以请指教我是否需要升级jasperreports-1.2.5.jar与最新的poi jar同步
<classpathentry exported="true" kind="lib" path="thirdparty/POI-3.5/poi-3.5-FINAL.jar"/>
<classpathentry exported="true" kind="lib" path="thirdparty/POI-3.5/poi-contrib-3.5-final.jar"/>
<classpathentry exported="true" kind="lib" path="thirdparty/POI-3.5/poi-scratchpad-3.5-FINAL.jar"/>
<classpathentry exported="true" kind="lib" path="thirdparty/POI-3.5/dom4j-1.6.1.jar"/>
<classpathentry exported="true" kind="lib" path="thirdparty/POI-3.5/poi-ooxml-3.5-FINAL.jar"/>
<classpathentry exported="true" kind="lib" path="thirdparty/POI-3.5/poi-ooxml-schemas-3.6.jar"/>
<classpathentry exported="true" kind="lib" path="thirdparty/POI-3.5/xmlbeans-2.3.0.jar"/>
<classpathentry exported="true" kind="lib" path="thirdparty/POI-3.5/poi-ooxml-schemas-3.10-FINAL.jar"/>
<classpathentry exported="true" kind="lib" path="thirdparty/POI-3.5/jsr173_1.0_api.jar"/>
虽然我做了一些分析并发现了这个网址http://community.jaspersoft.com/questions/531433/save-excel-jasperviewer
这建议与poi up graation我应该升级我的jasper罐子
对于jasper报告我没有升级我正在使用jasper报告1.2.5 jar我应该升级那个,伙计们请指教
答案 0 :(得分:2)
java.lang.NoSuchMethodError
是典型错误。
Jasper报告使用多个库,这些库可以在其分发中找到(在文件夹lib
中),它们都应包含在classpath
如果您使用的是Jasper报告1.2.5,那么这是它的发布Jasper report v 1.2.5。您会在classpath
文件夹lib
中找到要包含的正确库。
但毫无疑问,最好升级到最新版本(发布此答案6.2.0时),特别是如果您需要导出到xlxs
,ooxml
,XSSF
,这在1.2.5中不支持。
注意:jasper报告的更改是较新版本中从DTD
到XSD
架构的文件格式定义,因此您可能需要更改.jrxml中的标头(或使用旧的.jrxml编译器)