我使用jasper设计器(不是iReport而是eclipse的插件)创建了一个使用excel文件作为数据源的报告。
该报告在设计器中工作正常,并且在没有问题的情况下从文件中读取数据,但在将文件编译为file.jasper
并向他提供excel文件的路径后,JasperViewer中没有任何内容!
这是我的代码:
try{
Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put("DataFile", "jasper_export.xls");
JasperPrint jasperPrint = JasperFillManager.fillReport(new FileInputStream(new File("file.jasper")), parameters,conn);
JasperViewer jv = new JasperViewer(jasperPrint, false);
jv.setVisible(true);
} catch (Exception ex) {
ex.printStackTrace();
}
答案 0 :(得分:0)
<强> SOLUTION:强>
这段代码很完美:
try{
Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put("param_name", paramValue);
ExcelDataSource ds = new ExcelDataSource(JRLoader.getLocationInputStream(excelFilePath));
String[] columnNames = new String[]{"id", "nom", "iden", "adress", "activity", "compta"};
ds.setColumnNames(columnNames);
JasperPrint jasperPrint = JasperFillManager.fillReport(new FileInputStream(new File(yourJasperFilePath)), parameters, ds);
JasperPrintManager.printReport(jasperPrint, false);
} catch (Exception ex) {
ex.printStackTrace();
}