Tôi gặp một số khó khăn khi xuất báo cáo của mình là XLS. Việc xuất dưới dạng PDF hoạt động tốt.java.lang.NoSuchMethodError: org.apache.poi.hssf.usermodel.HSSFWorkbook.createDataFormat() Lorg/apache/poi/hssf/usermodel/HSSFDataFormat;
Vì vậy, tôi cố gắng cập nhật mới nhất JasperReports và Apache POI phiên bản:
- JasperReports: 5.5.0
- POI: 3,7
- iText: 2.1.7
Nhưng tôi luôn nhận được ngoại lệ sau:
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)
Xuất Mã
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();
Sau khi một số nghiên cứu Tôi đã thử nhiều phiên bản khác (4) nhưng tôi vẫn nhận được lỗi này. có ai biết cách giải quyết không?
Cảm ơn sự giúp đỡ của bạn. Tôi đã đọc về giải pháp này nhiều lần. Vì vậy, đã kiểm tra này. Phiên bản POI duy nhất tôi có trong classpath là 3.7. JasperReport JAR là từ http://sourceforge.net/projects/jasperreports/files/jasperreports/JasperReports%205.5.0/jasperreports-5.5.0.jar/download – Tunguska
Kiểm tra từng vị trí, jre/lib/ext, vị trí đường dẫn lớp, có thể được đổi tên thành tệp jar. –
[Câu hỏi thường gặp về Apache POI về chủ đề này] (http://poi.apache.org/faq.html#faq-N10006) đề xuất một số [mã giúp tìm kiếm] (http://poi.apache.org/faq. html # faq-N10006) bình POI bạn đang sử dụng – Gagravarr