从primefaces数据表导出的excel文件中未显示标题



我有一个这样的数据表。但它不会将标题导出到excel:

<h:form id="formOptionList">
<p:dataTable id="OptionTable"
             var="Options"
             widgetVar="OptionTable"
             value="#{managedBean.options}"
             filteredValue="#{managedBean.filteredOptions}"
             emptyMessage="No  Options found."
             rendered="#{managedBean.userPreferences.showTable}"
             paginator="true"
             rows="10"
             paginatorTemplate="{FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
             rowsPerPageTemplate="20,50,100"
             >
<p:column id="id" headerText="ID" filterBy="id" filterMatchMode="exact" width="12%" rendered="#{managedBean.userPreferences.showID}" >
        <h:outputText value="#{options.optionID}" />
</p:column>
....
....
</p:dataTable>
<h:panelGrid columns="1">
    <p:panel header="Export All Data">
        <h:commandLink>
            <p:graphicImage value="../resources/images/menuicons/options.png" />
            <p:dataExporter type="xls" target="OptionTable" fileName="Options" />
        </h:commandLink>
    </p:panel>
</h:panelGrid>
 </h:form>  

所以我把它改成

 <p:column id="id" filterBy="id" filterMatchMode="exact" width="12%" rendered="#{managedBean.userPreferences.showID}" >
    <f:facet name="header>">
        <h:outputText value="Option ID"/>
   </f:facet>
   <h:outputText value="#{Options.OptionID}" /> 
</p:column>

我仍然没有在excel文件中看到标题。有什么想法吗?

从Primeffaces数据表导出的excel文件中未显示标题

试试这个:

<p:column id="id" filterBy="#{Options.OptionID}" filterMatchMode="exact" width="12%" rendered="#{managedBean.userPreferences.showID}" >
    <f:facet name="header>">
        <h:outputText value="Option ID"/>
    </f:facet>
    <h:outputText value="#{Options.OptionID}" /> 
</p:column>

您在</f:facet>之后放了一个<h:outputText value= ""/>

<p:column>
    <f:facet name="header">
        <h:outputText value="Your Column Name" />
    </f:facet>
    <h:outputText value="Your value" />
</p:column> 

您可以放置一个不显示的新列,从现有列只放置一个导出器false

<p:column id="id" filterBy="# Options.OptionID}"filterMatchMode="exact" width="12%" rendered="#anagedBean.userPreferences.showID}"exporter="false">
        <f:facet name="header>">
                    <h:outputText value="Option ID" />
        </f:facet>
                <h:outputText value="#{Options.OptionID}" />
</p:column>

添加不显示的新列,并删除所有排序、过滤和呈现

<p:column exporter="true" style="display:none;">
    <f:facet name="header>">
        <h:outputText value="Option ID"/>
   </f:facet>
   <h:outputText value="#{Options.OptionID}" /> 
  </p:column>

这非常有效。

相关内容

最新更新