1

我正在从模板创建一个 xls 报告,该模板使用从 Oracle 数据库获得的数据。我有一个组和一个子组。在一个子组中,我创建了一个表格,显示 PREMIUM 值,然后使用以下方法显示总数:

$[SUM(I18)]

因为这里的值是连续的,所以这个公式被转换为 SUM(I18:I35)。

显示所有子组后,我想显示子组中所有 PREMIUMS 的总数,为此我使用:

$[SUM(I21)]

jxls 足够聪明,可以将其转换为 SUM(I36, I46, I67, ...) 这就是我遇到问题的地方。可以将多少个参数传递给 SUM 函数有一些限制。任何想法如何在 xls 模板中对集合进行求和?

我的模板看起来像:

<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 教程或类似内容的好资源,请在此处发布。我真的很难找到血统...

4

1 回答 1

1

使用 jxls 聚合对你有用吗?

IE。${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> 
于 2010-10-11T18:35:32.510 回答