[英]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.