Jasper报告与excel数据源

时间:2015-01-19 12:54:07

标签: java excel jasper-reports

我使用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();
    }

1 个答案:

答案 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();

   }