• Jasper 常用知识点总结


    1、应用: 时间格式转换 

     Date1 change from "2014-11"  to  "Nov 2014"

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

     Date1 change from "2014-11-1"  to  "11/01/2014"

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

     Date1 change from "2014-11-1 13:11:22"  to  "11/01/2014"

    new java.text.SimpleDateFormat("MM/dd/yyyy").format(new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse($V{END_DT1})).replace("-", " ")

    current system date:

    "Run Time: " + (new SimpleDateFormat("MMM d, yyyy H:m:s").format(new java.util.Date()))

    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 style 可以继承。Style_HeaderBlue,Style_HeaderGrey继承Style_Base.

     1 <style name="Style_Base" mode="Opaque" forecolor="#FFFFFF" hAlign="Center" vAlign="Middle" fontName="Arial" fontSize="11">
     2     <box>
     3         <topPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
     4         <leftPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
     5         <bottomPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
     6         <rightPen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
     7     </box>
     8 </style>
     9 <style name="Style_HeaderBlue" style="Style_Base" mode="Opaque" backcolor="#002D72" isBold="true"/>
    10 <style name="Style_HeaderGrey" style="Style_Base" mode="Opaque" backcolor="#53565A" isBold="true"/>
  • 相关阅读:
    MvvmTest
    win8 app 相关的几个网站
    autp
    分析WPF代码工具
    mdsn
    线程和委托
    C#guanli
    学习Boost小结(一)
    Boost.test库的配置
    自己真是太没正事了.
  • 原文地址:https://www.cnblogs.com/liupuLearning/p/5807469.html
Copyright © 2020-2023  润新知