2010-09-09 84 views
1

我正在从使用从Oracle数据库获取的数据的模板创建xls报表。我有一个小组和一个小组。在一个亚组I创建显示PREMIUM值,然后使用总的表:如何累计jxls模板中的非连续单元格

$[SUM(I18)] 

由于这里的值是连续的这个公式被转化为即SUM(I18:I35)。

显示所有子组后,我想从分组显示总的所有保费,要做到这一点,我使用:

$[SUM(I21)] 

JXLS是足够聪明,将其转换成即SUM(I36,I46, I67,...)这是我遇到问题的地方。有多少参数可以传递给SUM函数有一些限制。任何想法我怎么能在xls模板的集合上做SUM?

我的模板是这样的:

<jx:forEach items="${group.items}" groupBy="client">  
<jx:forEach items="${group.items}" groupBy="contract">  
    <jx:forEach items="${group.items}" var="result"> 
    PREMIUM 
    ${result.premium} 
    </jx:forEach> 
Group Total $[SUM(I18)] 
</jx:forEach> 
Total $[SUM(I20)] // This is where the problem 
        // is because Group Total are not consecutive 
</jx:forEach> 

我也试过:

${group.items.premium} 
Total $[SUM(I22)] 

,并在其中隐藏的,但生成模板时做与$ {} group.items.premium行它取消隐藏行...

以及如果你知道一个很好的资源与jsxl教程或类似的请张贴在这里。我真的很难找到一些血统...

回答

1

会使用jxls聚合工作给你吗?

即。 $ {sum(premium):group.items} //在每个“客户”组中总结所有保费

<jx:forEach items="${group.items}" groupBy="client">  
<jx:forEach items="${group.items}" groupBy="contract">  
    <jx:forEach items="${group.items}" var="result"> 
    PREMIUM 
    ${result.premium} 
    </jx:forEach> 
Group Total $[SUM(I18)] 
</jx:forEach> 
${sum(premium):group.items} 
</jx:forEach> 
相关问题