1

我正在使用带有ExcelHssfView的 displaytag 的 Excel 导出来将表格导出为 Excel。但是,表支持 bean 中的每个字段都被写入导出的表,而不仅仅是定义的列。我的显示标签配置是:

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>
4

1 回答 1

1

所有<display:column>标签的属性media都设置为html,这阻止了 Excel 导出(期望allorexcel媒体)引用它们,因此 displaytag 默认传递所有 bean 列。

<display:column media="html" headerClass="sortable"
            title="Invoice Amount" class="textDisplayArea" >
         $ <c:out value="${invoice.invoiceAmount}" /> 
</display:column>

变成

<display:column headerClass="sortable"
            title="Invoice Amount" class="textDisplayArea" >
         $ <c:out value="${invoice.invoiceAmount}" /> 
</display:column>

它奏效了。

于 2012-08-05T20:41:02.123 回答