jasper 常用知识点总结

1、应用: 列头 "YYYY-MM" 格式转化为 "MM YYYY"格式, eg : Date1 = 2014-11

new java.text.SimpleDateFormat("MMM-yyyy").format(new java.text.SimpleDateFormat("yyyy-MM").parse($V{Date1})).replace("-", " ")

2、应用: % 列数据绝对值 

Math.abs(($V{V_Cp_T}-$V{V_Pp1_T})/$V{V_Pp1_T})

3、应用: 是否显示百分号。

<patternExpression><![CDATA["Y".equals($F{Show_Percent_Row})?"#,##0%;(#,##0)%":"#,##0;(#,##0)"]]></patternExpression>

4、应用: 多符号分隔,eg : use "|" and ":" 分隔。"|"需要转义,":"不需要转义。

"-".equals($F{Bu_Header}.split("\\||:")[1].trim())?($F{Bu_Header}.split("\\||:")[0]):($F{Bu_Header}.split("\\|")[0])

5、应用: jasper table 引用数据源配置

需要review 时,table 放在 Band Detail 中,jasper 使用 CSV 做数据源时,数据源配置如下:

<datasetRun subDataset="Dataset1" uuid="7f4823da-4acb-423f-b5f5-29c7740a18e3">
    <dataSourceExpression><![CDATA[((net.sf.jasperreports.engine.data.JRCsvDataSource)$P{REPORT_DATA_SOURCE})]]></dataSourceExpression>
</datasetRun>

 运行时,table 放在 Summary 中 (否则可能会出现运行不出数据的情况) ,数据源配置如下:

<datasetRun subDataset="Dataset1" uuid="d785f623-58ad-4300-a7a3-a7b2066d8077">
    <datasetParameter name="PARAMS_PROVIDER">
        <datasetParameterExpression><![CDATA[$P{PARAMS_PROVIDER}]]></datasetParameterExpression>
    </datasetParameter>
    <dataSourceExpression><![CDATA[$P{PARAMS_PROVIDER}.getDataSource("ds1")]]></dataSourceExpression>
</datasetRun>

6、根据字符串年月获取相应的数字月份 demo : 

java :

int currentMonth = new SimpleDateFormat("MMM-yy").parse("Apr-14").getMonth()+1

jasper : 

<variable name="V_p1_flag" class="java.lang.Boolean">
    <variableExpression><![CDATA[!"".equals($F{MTD_P1_Nm})?(new SimpleDateFormat("MMM yyyy").parse($F{MTD_P1_Nm}).getMonth()+1 > Integer.parseInt($F{SELECTED_PERIOD})):false]]></variableExpression>
</variable>

 

7、jasper excel 的设计过程中,如果需要每个不同的sheet页底部具有相同的summary, 可以将summary 部分的内容放到Page Footer.

8   jasper html  的设计过程中,需要比excel添加三行属性.

<property name="net.sf.jasperreports.export.html.using.images.to.align" value="false"/>
    <property name="net.sf.jasperreports.export.html.frames.as.nested.tables" value="false"/>
    <property name="net.sf.jasperreports.export.html.wrap.break.word" value="true"/>

 

posted @ 2016-09-14 09:56  银雪飞马  阅读(1261)  评论(0编辑  收藏  举报