当前位置: 首页 > 知识库问答 >
问题:

带有excel数据源的Jasper报表

邵修诚
2023-03-14

我使用jasper设计器(不是iReport而是eclipse的插件)创建了一个使用excel文件作为数据源的报表。
该报表在设计器中运行良好,并且从文件中读取数据没有问题,但是在将该文件编译为file.jasper并在JasperViewer中给出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个答案

乐正迪
2023-03-14

解决方案:
此代码非常完美:

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

   }
 类似资料:
  • 我有一个 json 数据源,数组中的数组,我正在使用使用子报表,这些子报表的数据源来自主数据源上的 datasourceExpression 和“subdata()”方法。 我现在的问题是将另一个列表传递给另一个子报表,我不想再次使用子数据,我需要做的是将包含json文本的字段作为字符串从当前子报表传递到下一个子报表作为json数据源。 有人知道这是如何实现的吗? 我正在使用iReport 5.6

  • 我有一个要求,我必须阅读CSV文件并在Jasper中准备一份报告。我能够在常规文本字段中使用CSV数据源。但是当我在详细信息或摘要部分添加一个表时,它需要创建一个新的数据集。我成功地创建了它,但是当报告运行时,它无法从CSV数据源获取数据,我得到了一个空白的报告。如果我使用数据库而不是CSV,同样的事情也会发生。Jasper中有bug吗?

  • 要求:开发10个报告和导航到每个报告时,点击超链接放置在导航菜单上。 当导出到excel时,每个子报表都应该放在单独的excel表中,excel列分段应该与报表列相匹配。完成了90%的工作。 只剩下excel分段问题。

  • 因为JasperReport可以将JavaBean集合作为数据源。我们可以用一个引用多个SetCollections的单个对象发送一个SetCollection吗。并使用这些引用传递给编译后的jrxml文件,每次传递不同的setCollection时,都使用对JasPerfillManager.FillReport()的多重调用。我只是想知道编译后的jrxml文件是否会用最后一次调用填充,或者是否

  • 我正在尝试使用Jasper Reports 6.5.1将数据从Java传递到使用JRBeanCollectionDataSource的报告中的字段属性。 我已经创建了JavaBean和报告,所有数据似乎都顺利通过,但最终结果是一个空白页面,我似乎无法解决这个问题。任何帮助都将不胜感激。请看下面我的代码... 提前致谢 代码生成报告 爪哇豆 以下是报告源XML

  • 我们使用json数据设计了一个新的报表,使用jsonql作为查询语言,并在Jaspersoft studio(V6.6.0)中生成多个子报表级别。 我们需要一些java代码来获取生成的json数据,并在服务器上使用预编译的jasper文件创建一个报告,在服务器上运行Jasper6.6.0,然而,当我们试图用java生成PDF时,一些子报告崩溃,说它找不到要使用的数据,当我们删除这些有问题的子报告时