【问题标题】:how to create a jasper report without database [duplicate]如何在没有数据库的情况下创建碧玉报告[重复]
【发布时间】:2020-07-11 06:34:00
【问题描述】:

我正在创建一个标准桌面应用程序,我需要在其中使用 JasperReports 创建一个报告。我设计了一个表单,它接受用户的输入并生成JR 报告,即不需要没有数据库 连接。

我在一些类似的问题中看到了关于要传递的参数,但它并没有太大帮助。 Can data in a java text field be sent to jasper report without database interaction?这里也有类似的问题。

请提出一个合适的方法。

【问题讨论】:

    标签: java jasper-reports


    【解决方案1】:

    您不需要数据库,只需直接从代码中设置值,例如

    public static void main(String[] args) {
      String sourceFileName =
      "C://tools/jasperreports-5.0.1/test/jasper_report_template.jasper";
    
      DataBeanList dataBeanList = new DataBeanList();
      ArrayList<DataBean> dataList = dataBeanList.getDataBeanList();
    
      JRBeanCollectionDataSource beanColDataSource =
      new JRBeanCollectionDataSource(dataList);
    
      Map parameters = new HashMap();
      /**
       * Passing ReportTitle and Author as parameters
       */
      parameters.put("ReportTitle", "List of Contacts");
      parameters.put("Author", "Prepared By Manisha");
    
      try {
         JasperFillManager.fillReportToFile(
         sourceFileName, parameters, beanColDataSource);
      } catch (JRException e) {
         e.printStackTrace();
      }
    }
    

    例如这个 xml 部分:

    <textFieldExpression class="java.lang.String">
     <![CDATA[$P{ReportTitle}]]>
     </textFieldExpression>
     <anchorNameExpression><![CDATA["Title"]]>
     </anchorNameExpression>
    

    【讨论】:

    • 生成文件位置在哪里?
    • 什么是DataBeanList?它来自哪个图书馆?
    • net.sf.jasperreportsjasperreports6.1.0
    • @WesosdeQueso DataBeanList 将是您自己的存储库类,然后 DataBean 将是您自己的 POJO 类,代表您的数据。
    猜你喜欢
    • 2011-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多