2017-03-01 48 views
0

我正在使用JasperStarter从命令行使用进程(pr)命令运行Jasper报告。 JasperStarter的版本是3.1.0,当输入jasperstarter --help时显示有--json-query选项。我能找到的唯一的文件是这样的:如何指定JSON文件作为JasperStarter的数据源?

http://jasperstarter.cenote.de/usage.html#The_command_process_pr

这是3.0.0(和不具备--json-query选项)。

我需要提供一个JSON文件作为报表的数据源,但看不到这是如何完成的。我已经尝试过以下没有成功:

jasperstarter.exe pr -f pdf -o MyReportName MyReportTemplate --json-query MyJson.json 

如何告诉JasperStarter使用JSON文件作为数据源?

+0

我想你必须使用--data-file MyJson.json来访问json作为数据源文件。 – Minja

回答

1

这对我有什么工作原理与JasperStarter 3.1.0二进制文件:

jasperstarter.exe pr -t json --json-query "Northwind.Customers" --data-file northwind.json -f pdf -o ReportOutput JsonCustomersReport.jrxml

我把JsonCustomersReport.jrxmlnorthwind.json在同一个文件夹中,我运行的命令。

JsonCustomersReport.jrxml是从JasperReports jsondatasource sample所述一个(我已删除的属性指定JSON文件,查询字符串和子报表声明)的修改版本:

<?xml version="1.0" encoding="UTF-8"?> 
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="JsonCustomersReport" pageWidth="595" pageHeight="842" columnWidth="515" leftMargin="40" rightMargin="40" topMargin="50" bottomMargin="50" uuid="bbe115b5-a5a0-4b39-9b73-7092dc59ab6d"> 
    <style name="Sans_Normal" isDefault="true" fontName="DejaVu Sans" fontSize="12" isBold="false" isItalic="false" isUnderline="false" isStrikeThrough="false"/> 
    <style name="Sans_Bold" fontName="DejaVu Sans" fontSize="12" isBold="true" isItalic="false" isUnderline="false" isStrikeThrough="false"/> 
    <style name="Sans_Italic" fontName="DejaVu Sans" fontSize="12" isBold="false" isItalic="true" isUnderline="false" isStrikeThrough="false"/> 
    <field name="CustomerID" class="java.lang.String"> 
     <property name="net.sf.jasperreports.json.field.expression" value="CustomerID"/> 
    </field> 
    <field name="CompanyName" class="java.lang.String"> 
     <property name="net.sf.jasperreports.json.field.expression" value="CompanyName"/> 
    </field> 
    <title> 
     <band height="50"> 
      <line> 
       <reportElement x="0" y="0" width="515" height="1" uuid="fc148b4e-50df-4a12-aa14-8505a4cfa6e1"/> 
      </line> 
      <staticText> 
       <reportElement style="Sans_Normal" x="0" y="10" width="515" height="30" uuid="5bf7651c-cd6b-4eaf-b65a-1413d60faab0"/> 
       <textElement textAlignment="Center"> 
        <font size="22"/> 
       </textElement> 
       <text><![CDATA[Customer Orders Report]]></text> 
      </staticText> 
     </band> 
    </title> 
    <pageHeader> 
     <band height="21"> 
      <staticText> 
       <reportElement style="Sans_Bold" mode="Opaque" x="0" y="5" width="515" height="15" forecolor="#FFFFFF" backcolor="#333333" uuid="da0f1cad-f552-424b-bf19-b41cabbfa4ac"/> 
       <text><![CDATA[Customer Order List]]></text> 
      </staticText> 
     </band> 
    </pageHeader> 
    <detail> 
     <band height="50"> 
      <textField> 
       <reportElement style="Sans_Bold" x="5" y="5" width="100" height="15" isPrintWhenDetailOverflows="true" uuid="0aaeed6e-7ba1-4ab9-be59-d6ca702995fc"/> 
       <textFieldExpression><![CDATA[$F{CustomerID}]]></textFieldExpression> 
      </textField> 
      <staticText> 
       <reportElement style="Sans_Bold" isPrintRepeatedValues="false" x="404" y="5" width="100" height="15" isPrintWhenDetailOverflows="true" uuid="68e08f51-8c24-4c85-95f3-616e40c8ddab"/> 
       <text><![CDATA[(continued)]]></text> 
      </staticText> 
      <line> 
       <reportElement x="0" y="20" width="515" height="1" isPrintWhenDetailOverflows="true" uuid="6d76c22c-329f-4e77-a886-8580d3cb6bc1"/> 
      </line> 
      <textField> 
       <reportElement style="Sans_Bold" x="109" y="5" width="291" height="15" isPrintWhenDetailOverflows="true" uuid="9a4a0a5d-4b75-4d2b-a647-aa495101df48"/> 
       <textFieldExpression><![CDATA[$F{CompanyName}]]></textFieldExpression> 
      </textField> 
     </band> 
    </detail> 
    <pageFooter> 
     <band height="40"> 
      <line> 
       <reportElement x="0" y="10" width="515" height="1" uuid="1371178a-a590-4616-affe-a4e1a24bcc84"/> 
      </line> 
      <textField> 
       <reportElement x="200" y="20" width="80" height="15" uuid="3eb302d8-0855-4f82-a666-3c9628dce372"/> 
       <textElement textAlignment="Right"/> 
       <textFieldExpression><![CDATA["Page " + String.valueOf($V{PAGE_NUMBER}) + " of"]]></textFieldExpression> 
      </textField> 
      <textField evaluationTime="Report"> 
       <reportElement x="280" y="20" width="75" height="15" uuid="86f46fca-dbcb-4a60-b2f7-f8da6a4224f7"/> 
       <textFieldExpression><![CDATA[" " + String.valueOf($V{PAGE_NUMBER})]]></textFieldExpression> 
      </textField> 
     </band> 
    </pageFooter> 
</jasperReport> 

northwind.json也由一个JasperReports jsondatasource sample

相关问题