使用displaytag + tiles导出excel的问题

时间:2011-02-02 17:06:39

标签: tiles displaytag

DisplayTag 1.2 Spring + MVC 2.5.6 Tiles 2.0.7

我看过这个网站上同一主题领域的其他一些项目,但似乎没有回答如何将display tag生成的表导出到excel的问题。我能够导出/保存xml和csv但不能excel。还需要其他罐子吗?

基本设置:

的web.xml

  <!--  display tag -->
  <filter>
    <filter-name>ResponseOverrideFilter</filter-name>
    <filter-class>org.displaytag.filter.ResponseOverrideFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>ResponseOverrideFilter</filter-name>
    <url-pattern>*.jsp</url-pattern>
  </filter-mapping>

displaytag.properties

#export
export.types=csv excel xml rtf pdf

export.excel=true
export.xml=true
export.csv=true
export.rtf=false
export.pdf=false

export.excel.class=org.displaytag.export.excel.DefaultHssfExportView
export.pdf.class=org.displaytag.export.DefaultPdfExportView
export.rtf.class=org.displaytag.export.DefaultRtfExportView

export.excel.include_header=true
export.cvs.include_header=true

HTML

<display:table export="true" id="row" class="gridTable" name="shippingCommands" defaultsort="1" sort="list" requestURI="shipHome.html" defaultorder="ascending" pagesize="100">
  <display:column title="Customer Name" sortable="true" sortName="customerName">
    ${row.customerName }
    <c:if test="${null != row.customerContactName}">
      <br />
      <br />${row.customerContactName}
    </c:if>
  </display:column>
  <display:column property="storeNumber" title="Store #"  sortable="true" sortName="storeNumber" comparator="vsg.ecotrak.common.comparator.AlphanumComparator"/>
  <display:column property="storeAddress" title="Store Address"/>
  <display:column property="programName" title="Program" sortable="true" sortName="programName"/>
  <display:column property="boxType" title="Box Type" sortable="true" sortName="boxType"/>
  <display:column class="table-10" property="qtyToShip" title="# of Boxes" sortable="true" sortName="qtyToShip"/>
  <display:column property="orderType" title="Order Type" sortable="true" sortName="orderType"/>
  <display:column class="actions" media="html">
    <a class="action-fulfill" href="shipSummary.html?action=summary&orderId=${row.orderId}">Fulfill</a>
    <a class="action-delete" href="javascript:confirmDelete(${row.orderId})" title="Delete Order" >Delete Order</a>
  </display:column>
  <display:setProperty name="export.rtf.filename" value="boxestoship.rtf"/>
  <display:setProperty name="export.csv.filename" value="boxestoship.csv"/>
  <display:setProperty name="export.excel.filename" value="boxestoship.xls"/>
  <display:setProperty name="export.xml.filename" value="boxestoship.xml"/>
</display:table>

事实证明,excel适用于poi-3.2-FINAL.jar而不是poi-3.7。不知道为什么,但这就是我做的工作。

1 个答案:

答案 0 :(得分:0)

确保poi-3.2-FINAL.jar文件夹中有WEB-INF/lib

您的项目中可以有多个poi jar,但至少这一个poi-3.2-FINAL.jar 必修必须才能拥有。

如果您想以其他格式导出,例如您需要 Excel - 2007 .xlsx格式 As shown here

  

POI-3.2-FINAL.jar

     

POI-3.9.jar

     

POI-OOXML-3.9.jar

     

POI-OOXML-架构-3.9.jar

     

的xmlbeans-2.6.0.jar

     

STAX-API-1.0.1.jar

和其他依赖项罐。