Estoy usando JasperViewer
para mostrar el informe al usuario y para poder exportar a pdf
, word
y Excel
. El problema es que mientras que el ahorro Excel
, y el error le pide diciendo:Guardar en Excel Desde JasperViewer
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)
Aquí está el código que estoy usando para mostrar mi informe:
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();
}
}
estoy desesperado :(, ¿por qué no es ¿Qué cambios debo hacer? ¿O qué bibliotecas debo importar al proyecto para que se ejecute?
Por el momento tengo: poi-3.6.jar
(el que viene con la distribución JR), también probé con versiones anteriores , 3.5 y 3.2 a nd con todos ellos todo funciona bien, pero solo para html, pdf y word, no para Excel.
Cualquier información al respecto será útil.
No creo que esto solucione su problema inmediato, pero según mi lectura de la documentación de JR, no hay necesidad de obtener una secuencia para leer el archivo .jasper. Puede pasar el archivo directamente como un parámetro siempre que la variable apunte directamente al archivo. Es decir. simplemente pase reportName al JasperFillManager.fillReport(). – Sean
¿Podría publicar un enlace a JavaDoc para JRXlsExporter? –
eso es lo que hice, pero todavía no tengo ninguna respuesta – eddy