我正在使用displaytag的Excel导出和ExcelHssfView将表格导出为Excel。但是,表backing bean中的每个字段都被写出到导出的表中,而不是仅写入已定义的列。我的displaytag配置是:
export.types=excel
export.csv=false
export.pdf=false
export.excel=true
export.xml=false
export.excel.class=org.displaytag.export.excel.ExcelHssfView
export.excel.decorator=org.displaytag.sample.decorators.HssfTotalWrapper
export.ExcelView=org.displaytag.export.ExcelView
在jsp中
<display:setProperty name="export.excel" value="true" />
<display:setProperty name="export.excel.filename" value="invoiceList.xls" />
<display:setProperty name="export.amount" value="list" />
<display:setProperty name="export.excel.include_header" value="true" />
<display:setProperty name="export.excel.label" value="Download Invoices" />
</display:table>
答案 0 :(得分:1)
所有 <display:column>
代码的media
属性设置为html
,这阻止了Excel导出引用它们(期待{{1}或者all
media),所以displaytag默认传递所有bean列。
excel
更改为
<display:column media="html" headerClass="sortable"
title="Invoice Amount" class="textDisplayArea" >
$ <c:out value="${invoice.invoiceAmount}" />
</display:column>
它有效。