проблема с использованием displaytag + плитки для экспорта в Excel - PullRequest
3 голосов
/ 02 февраля 2011

DisplayTag 1.2 Spring + MVC 2.5.6 Плитка 2.0.7

Я рассмотрел некоторые другие элементы на этом сайте в той же предметной области, но ни один из них не отвечает на вопрос о том, как экспортировать таблицу, созданную с помощью тега display, в 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 голосов
/ 08 мая 2014

Убедитесь, что в вашей папке WEB-INF/lib есть poi-3.2-FINAL.jar.

В вашем проекте может быть более одного poi jar, но по крайней мере этот poi-3.2-FINAL.jar является обязательным и должен иметь.

Если вы хотите экспортировать в другие форматы, например Excel - 2007 .xlsx формат Как показано здесь вам нужноhave

poi-3.2-FINAL.jar

poi-3.9.jar

poi-ooxml-3.9.jar

poi-ooxml-schemas-3.9.jar

xmlbeans-2.6.0.jar

stax-api-1.0.1.jar

и другие jar-файлы зависимостей.

...