- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我在将报告导出为 XLS 时遇到了一些问题。导出为 PDF 效果很好。
所以我尝试更新到最新的 JasperReports 和 Apache POI 版本:
但我总是收到以下异常:
java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFWorkbook.createDataFormat()Lorg/apache/poi/hssf/usermodel/HSSFDataFormat;
net.sf.jasperreports.engine.export.JRXlsExporter.openWorkbook(JRXlsExporter.java:284)
net.sf.jasperreports.engine.export.JRXlsAbstractExporter.exportReportToStream(JRXlsAbstractExporter.java:927)
net.sf.jasperreports.engine.export.JRXlsAbstractExporter.exportReport(JRXlsAbstractExporter.java:697)
com.phoenix.customermonitor.print.GenericDataSourceApp.xls(GenericDataSourceApp.java:290)
com.phoenix.customermonitor.print.GenericDataSourceApp.exportToFormat(GenericDataSourceApp.java:335)
com.phoenix.core.JasperReportHandlerAction.exportOrderMonitorOverview(JasperReportHandlerAction.java:242)
com.phoenix.customermonitor.action.OrderMonitorMainAction.execute(OrderMonitorMainAction.java:217)
org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
导出代码
File sourceFile = new File(fileIn);
JasperPrint jasperPrint = (JasperPrint)JRLoader.loadObject(sourceFile);
String name = fileIn.substring(fileIn.lastIndexOf(System.getProperty("file.separator"))+1);
name = name.substring(0, name.lastIndexOf("."));
File destFile = new File(fileOut);
JRXlsExporter exporter = new JRXlsExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, destFile.toString());
exporter.exportReport();
经过一些研究,我尝试了其他几个版本 (+4),但我仍然收到此错误。有谁知道解决方案?
最佳答案
你的类路径中有一个旧版本库。
如果 jasper 报告依赖于 lib-xxx.jar,那么请确保您的类路径中没有其他 lib-yyy.jar。您可以通过查看下载的 jasper jar 或 pom.xm 来执行此操作。
我猜你的类路径中有一些旧版本的 poi。
关于java.lang.NoSuchMethodError : org. apache.poi.hssf.usermodel.HSSFWorkbook.createDataFormat()Lorg/apache/poi/hssf/usermodel/HSSFDataFormat;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20148736/
val jobConf = new JobConf(hbaseConf) jobConf.setOutputFormat(classOf[TableOutputFormat]) jobConf.s
我为我的项目创建了一个新模块来添加一些额外的功能。在该模块中,我在模块的 Gradle 文件 implementation 'org.jsoup:jsoup:1.10.2' 中添加了 Jsoup 依赖
我已经能够使用出色的任务 appStartWar 或 tomcatStartWar 成功地在tomcat上部署我的Web应用程序 war 文件,但是当我尝试使用 appStart 或到位部署同一Web
我正在使用具有 Maven 支持的 Intellij 启动 tomcat。一旦我添加以下 tomcat maven 依赖项: org.apache.tomc
请帮忙。我正在尝试使用 Jboss 8.1.0 缓存功能做一个简单的缓存机制。这就是我实现项目结构的方式: pomn 文件: 4.0.0 org.jboss
我正在使用 Espresso 进行仪器测试,但在堆栈跟踪中出现此错误: 错误是由缺少的类引起的,如下所示: Caused by: java.lang.ClassNotFoundException: D
早些时候,我的 Android 项目运行良好。但是在更新客户端提供的 .aar 库后,我收到了这个错误。 在我们的项目中,我们没有在任何地方使用 jacoco 依赖项 java.lang.NoClas
我正在尝试使用 wildfly-8 在本地计算机上运行的 Web 应用程序中显示图形报告,但遇到了下一个错误。 java.lang.NoClassDefFoundError: Lorg/jfree/c
我遇到了应用程序崩溃和提供此堆栈跟踪的问题 java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/commons/code
我在进行插桩测试时遇到了以下运行时错误。 Unknown source file : UNEXPECTED TOP-LEVEL EXCEPTION: Unknown source file : com
这个问题在这里已经有了答案: Android Studio : Error injecting while Appengine backend generation (1 个回答) 关闭 8 年前。
httpPost 在所有 8.1 及以下版本的 android 设备中运行,但在 android 9.0 中运行时出现如下错误, Failed resolution of: Lorg/apache/h
从昨天开始我就有麻烦了。在我的实习中,我遇到了以下构建错误,但我不明白为什么: $ cordova build android [...] FAILURE: Build failed with an
有人可以告诉我如何解决这个问题吗?我试图创建一个新的 Maven 项目,但由于某种原因失败了 描述资源路径位置类型目标 org.apache.maven.plugins:maven-resources
我正在从 Tomcat 6.0.24 升级到 7.0.23。我有一个 maven 2.2.1 项目,它使用 jspc maven 插件预编译 JSP。 当我为我的应用程序部署 WAR 文件并尝试访问
我收到以下错误: Process: com.project.publiko, PID: 27061 java.lang.NoSuchFieldError: No static field INSTAN
错误: E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1 Process: com.azail.cart.debug, PID: 2403
每当我尝试为我的项目构建 APK 时,都会收到以下错误: Error:Error converting bytecode to dex: Cause: com.android.dex.DexExcep
我是用java创建一个strut项目但是报错。我认为此错误是由于缺少 jar 文件造成的,我不知道要下载哪个版本。 这是我的 lib 文件夹中的 jar 文件: commons-digester-2.
我想使用最新的 JUnit 版本: org.junit.jupiter junit-jupiter-engine
我是一名优秀的程序员,十分优秀!