从JasperViewer保存到Excel

edd*_*ddy 5 excel jasper-reports

我正在使用JasperViewer向用户显示报告并能够导出到pdf,wordExcel.问题是在保存时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)
Run Code Online (Sandbox Code Playgroud)

这是我用来显示我的报告的代码:

  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();
        }
    }
Run Code Online (Sandbox Code Playgroud)

我很绝望:(,为什么不运行?我应该做些什么改变?或者我应该将哪些库导入项目以使其运行?

目前我有:( poi-3.6.jarJR发行版附带的那个),我也试过以前的版本,3.5和3.2以及所有这些都一切正常,但仅适用于html,pdf和word,而不是Excel.

任何有关这方面的见解都会有所帮助.

Ser*_*kov 0

Excel导出需要jxl库。通常 JasperReports 需要 commons-collections、commons-beanutils 和 commons-digester