我正在使用 JasperViewer
向用户显示报告,并能够导出为 pdf
、word
和 Excel
。
问题是在保存到 Excel
时出现错误提示:
Exception in thread "AWT-EventQueue-0" java.lang.VerifyError: (class: net/sf/jasperreports/engine/export/JRXlsExporter,
method: createMergeRegion signature: (Lnet/sf/jasperreports/engine/export/JRExporterGridCell;IILorg/apache/poi/hssf/usermodel/HSSFCellStyle;)V) Incompatible argument to function
at net.sf.jasperreports.view.save.JRSingleSheetXlsSaveContributor.save(JRSingleSheetXlsSaveContributor.java:104)
at net.sf.jasperreports.swing.JRViewerToolbar.btnSaveActionPerformed(JRViewerToolbar.java:407)
这是我用来显示报告的代码:
public void showReport() throws SQLException {
RNVehicle rnVehicle = new RNVehicle();
vehicles.clear();
vehicles= rnVehicle.getVehiculos();
//Path to your .jasper file in your package
String reportName = "reports/ReportVehicles.jasper";
//Get a stream to read the file
InputStream is = this.getClass().getClassLoader().getResourceAsStream(reportName);
try {
JasperPrint jp = JasperFillManager.fillReport(is, null, new JRBeanCollectionDataSource(vehicles));
//Viewer for JasperReport
JRViewer jv = new JRViewer(jp);
//Insert viewer to a JFrame to make it showable
JFrame jf = new JFrame();
jf.getContentPane().add(jv);
jf.validate();
jf.setVisible(true);
jf.setSize(new Dimension(1020, 755));
jf.setLocation(0, 0);
jf.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
} catch (JRException ex) {
ex.printStackTrace();
}
}
我很绝望:(,为什么没有运行?我应该做哪些更改?或者我应该将哪些库导入到项目中以使其运行?
目前我有:poi-3.6.jar
(JR发行版附带的那个),我也尝试过以前的版本,3.5和3.2,所有这些都工作正常,但仅适用于 html、pdf 和 word,不适用于 Excel。
关于这方面的任何见解都会有所帮助。
最佳答案
您需要在项目中添加“poi-3.10.1.jar”。
关于excel - 从 JasperViewer 保存到 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4720797/