簡體   English   中英

在Excel報表中使用DynamicJasper在列腳中添加自定義計算

[英]Add Custom Calculations in the Column Footer using DynamicJasper in Excel report

我正在使用DynamicJasper 4.0.2版,並且已經以Excel格式創建了報告。

該報告有三列,分別是A,B和C。
在頁腳中,我想要A列的總計,即SUM(A)和B列的總計,即SUM(B),而C列的總數=(SUM(B)/ SUM(A))* 100。

但是我可以通過使用drb.addGlobalFooterVariable(columnA, DJCalculation.SUM)drb.addGlobalFooterVariable(columnB, DJCalculation.SUM)來為列A和B添加總計。

但是我無法按照上述公式找到columnC的解決方案。

我用谷歌搜索,但沒有得到任何相關的帖子。 請幫我。

我通過在Dynamic Jasper中使用CustomExpression類獲得了解決方案。下面是一個示例,

     private AbstractColumn COLUMN_C;
     DynamicReportBuilder drb = new DynamicReportBuilder();
     COLUMN_C = ColumnBuilder.getNew().setColumnProperty("columnC",Double.class.getName()).setTitle("C").setHeaderStyle(headerStyle).setFixedWidth(false).setStyle(detailCurrencyStyle).setPattern("###0.00;-###0.00").build();
     drb.addGlobalFooterVariable(COLUMN_C, new CustomExpression() {

                @Override
                public Object evaluate(Map fields, Map variables, Map parameters) {
                    double totalOfColumnC = 0.00;
                    totalOfColumnC = ( totalOfColumnB/ totalOfColumnA) * 100;
                    return totalOfColumnC;

                }

                @Override
                public String getClassName() {
                    return Double.class.getName();
                }
            });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM