在JXLS和Apache POI模板中迭代Map

时间:2014-10-24 10:29:06

标签: java apache-poi jxls

我想知道这是否可以在JXLS中迭代地图。我尝试使用Link中给出的示例,但我找不到迭代map的方法。请帮我找到解决方案。

XLSX模板中的示例代码:

bomItemList--包含事件对象的列表。 supplierResponse-- SupplierResponse Objects的地图。

  <jx:forEach items="${bomItemList}" var="eventItemList" varStatus="status">
      <jx:forEach items="${eventItemList.supplierResponse}" var="supplierResponse" select="${supplierResponse.key > user}">
                    ${supplierResponse.supplierqty} 
      </jx:forEach>
  </jx:forEach>

输出:( Inner forEach)

<jx:forEach items="{supplier2=com.esource.vo.Supplierresponse@1489519, supplier1=com.esource.vo.Supplierresponse@34ca1a}" var="supplierResponse" select="false">

  </jx:forEach>

2 个答案:

答案 0 :(得分:2)

您不能直接迭代Map,但可以迭代地图可以提供的Collection个值。调用values() method on the Map,它将返回适合在JXLS中迭代的值的Collection视图。

<jx:forEach items="${eventItemList.supplierResponse.values()}" var="supplierResponse"
    select="${supplierResponse.key > user}">

答案 1 :(得分:2)

我使用keySet()迭代map。

<jx:forEach items="${myMap.keySet()}" var="key1">
${myMap.get(key1).attr1}
</jx:forEach>