【问题标题】:How to use JRLoader.loadObjectFromFile() to generate a JasperReport如何使用 JRLoader.loadObjectFromFile() 生成 JasperReport
【发布时间】:2018-05-08 17:13:02
【问题描述】:

我正在尝试生成碧玉报告。它在我的 Netbeans ide 中工作,但编译后它不起作用并且没有显示错误。阅读此Jasper report is not working after making jar file 后,我将代码更改为此。

InputStream path = getClass().getResourceAsStream("\\my_package\\ChartOfAccounts.jasper");
HashMap param = new HashMap();
String cpname = cmpName();
String cpadd = cmpAdd();
param.put("CompanyName",cpname);
param.put("Address", cpadd);
JasperReport  jr = (JasperReport)JRLoader.loadObjectFromFile(path);
JasperPrint jp = JasperFillManager.fillReport(jr, param, conn);
JasperViewer jv = new JasperViewer (jp,false);
jv.setTitle("Chart of Accounts");
jv.setVisible(true);

但是当我使用

JasperReport  jr = (JasperReport)JRLoader.loadObjectFromFile(path);

它说我应该在那里使用字符串类型变量。我应该怎么办?

【问题讨论】:

    标签: java jasper-reports


    【解决方案1】:

    根据http://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/util/JRLoader.html 有几种加载对象的方法。 JRLoader.loadObjectFromFile 将 String 作为参数,并且在上面的代码中传递了 InputStream,这会导致错误。

    根据用例,您应该考虑调用哪个方法。 如果你需要使用 InputStream 你应该使用JRLoader.loadObject(InputStream) 如果您需要读取文件(程序外部且不在类路径中),您应该使用JRLoader.loadObjectFromFile

    【讨论】:

      猜你喜欢
      • 2012-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多