我正在使用从Oracle数据库获取的数据从模板创建xls报告。我有一个小组和一个小组。在子组中,我创建一个表格,显示PREMIUM值,然后使用:
显示总计$[SUM(I18)]
因为这里的值是连续的,所以这个公式被转换为SUM(I18:I35)。
显示所有子组后,我想显示子组中所有PREMIUMS的总数,为此我使用:
$[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教程或类似的东西知道一个好资源,请在此处发布。我真的很难找到下降的东西......
答案 0 :(得分: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>