当前位置: 首页 > 知识库问答 >
问题:

使用Excel报表中的DynamicJasper在列页脚中添加自定义计算

燕嘉熙
2023-03-14

我使用的是DynamicJasper 4.0.2版,并以Excel格式创建了报告。

报告有三列,比如A、B和C。在页脚中,我要A列的合计,即总和(A),B列的合计,即总和(B),而C列的合计=(总和(B)/总和(A))*100。

然而,我可以使用drb为A列和B列添加总计。addGlobalFooterVariable(columnA,DJCalculation.SUM)和drb。addGlobalFooterVariable(columnB,DJCalculation.SUM)

但我无法根据上面解释的公式找到列C的解。

我谷歌了一下,但没有得到任何相关的帖子。请帮帮我。

共有1个答案

锺超英
2023-03-14

我通过在动态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();
                }
            });
 类似资料:
  • 我正在使用DynamicJasper API开发pdf报告。 根据要求,我必须在页眉和页脚显示一个徽标。我可以使用DynamicReportBuilder在标题处显示徽标。addImageBanner方法。但我没有找到在页脚添加图像的方法。 我在动态jasper论坛上看到了一些关于这个问题的帖子,其中提到的一个解决方法是使用pageFooter band创建一个jrxml模板。 我尝试了这个,但没

  • 我有一个包含数据的表,我想在其中添加一个页脚,以便累加并显示每行中int值的总和。 我尝试了以下代码。 我的表格如下: 我的Vue数据 我现在得到的只是一个反映页眉的页脚。 这是在引导Vue自定义头文档之后编写的,但在细节上非常粗略,没有提供如何添加真正自定义信息的真实信息。我只想我的模板显示在页脚。 编辑:好吧,我确实弄明白了以下几点。还是不是我想要的。 我意识到Bootstrap-Vue设置的

  • 任何人都可以解释如何使用(rgb值或十六进制值)将自定义颜色添加到excel工作表(在前景或背景中)使用Apche poi中的单元格样式添加到Excelsheet(XSSF工作簿)中?

  • 我的存储库如下所示: 如何将分页添加到不使用JPA默认“findAll”查询的自定义查询? 如何让Spring将其转换为页面或可分页对象? 因此,在我的AppController中,我可以这样使用它: Page=heroService。findAllHeroByGroupName(pageNum); 请注意,返回一个列表,而不是页面对象。

  • 我正在使用谷歌Gson将Java对象序列化到JSON中。现在,我正在使用方法为一些类添加自定义序列化。通过使用这个,我需要将我想要序列化的所有类导入到我的项目中。 由于我正在处理一个项目,其中一个对象可以附加自定义类,所以我正在寻找一个解决方案,在这个解决方案中,我创建一个特定的方法(例如,),并告诉Gson在以默认模式序列化之前搜索该方法。 当Gson发现这个方法存在时,它会使用它,否则它会继续

  • 我使用iReport创建了多页pdf报表,如下所示。 应该是这样的: 请建议。