【问题标题】:Headers are not shown in exported excel file from primefaces datatable从 primefaces 数据表导出的 excel 文件中未显示标题
【发布时间】:2013-11-18 17:31:35
【问题描述】:

我有一个这样的数据表。但它不会将标题导出到 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 文件中的标题。有任何想法吗 ?

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

【问题讨论】:

  • 您可以在导出的ExCEL 文件中看到atleast 您的数据吗?
  • 是的,我可以导出数据。我只是没有在 Excel 表中看到标题。
  • 我知道这个问题有点老了,但这里的主要问题是&lt;f:facet name="header&gt;"&gt; 中有一个错字。

标签: jsf primefaces data-export


【解决方案1】:

试试这个:

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

【讨论】:

    【解决方案2】:

    你在你的&lt;/f:facet&gt; 后面放了一个&lt;h:outputText value= ""/&gt; 吗?

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

    【讨论】:

      【解决方案3】:

      您可以放置​​一个不显示的新列,从现有列中放置一个导出器 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>
      

      这很好用。

      【讨论】:

        猜你喜欢
        • 2013-09-29
        • 2013-10-11
        • 1970-01-01
        • 2014-01-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-10
        • 1970-01-01
        相关资源
        最近更新 更多