当前位置: 首页 > 知识库问答 >
问题:

Primeface数据导出器XLS仅导出标头而不是行

洪飞扬
2023-03-14

我的问题是,当我单击按钮导出数据表时,它只导出列标题,我的 excel 文件生成时没有行。

<h:form>


    <p:dataTable id="cteTable" var="cte" 
        emptyMessage="Nenhum Registro Localizado"
        reflow="true" value="#{extratorBean.ctes}" paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {Exporters}"
        style="margin-top: 10px" paginator="true" rows="100" scrollable="true" scrollWidth="1024px">

        <f:facet name="{Exporters}">
            <h:commandLink>
                <p:graphicImage name="images/excel.png" width="24" library="samsung" />
                <p:dataExporter type="xls" target="cteTable" fileName="cte-s" />
            </h:commandLink>
        </f:facet>

        <p:column headerText="CNPJ Emissor" width="150" style="text-align: center">
            <h:outputText value="#{cte.EMIT_CNPJ}"/>
        </p:column>

        <p:column headerText="Serie" width="60" style="text-align: center">
            <h:outputText value="#{cte.IDE_SERIE}"/>
        </p:column>

        <p:column headerText="N° CT-e" width="90" style="text-align: center">
            <h:outputText value="#{cte.IDE_NCT}"/>
        </p:column>

        <p:column headerText="Dt. Emissão" width="150" style="text-align: center">
            <h:outputText value="#{cte.IDE_DHEMI}">
                <f:convertDateTime pattern="dd/MM/yyyy" />
            </h:outputText>
        </p:column>

        <p:column headerText="Total Frete" width="80" style="text-align: center">
            <h:outputText value="#{cte.VPREST_VTPREST}">
                <f:convertNumber type="currency" />
            </h:outputText>
        </p:column>

        <p:column headerText="ICMS" width="80" style="text-align: center">
            <h:outputText value="#{cte.ICMS_VICMS}">
                <f:convertNumber type="currency" />
            </h:outputText>
        </p:column>

        <p:column headerText="% ICMS" width="80" style="text-align: center">
            <h:outputText value="#{cte.ICMS_PICMS}">
                <f:convertNumber minFractionDigits="2" />
            </h:outputText>             
        </p:column>

        <p:column headerText="Nat. Op." width="350" style="text-align: center">
            <h:outputText value="#{cte.IDE_NATOP}"/>
        </p:column>

        <p:column headerText="CNPJ Tomador" width="150" style="text-align: center">
            <h:outputText value="#{cte.TOMADOR}"/>
        </p:column>

        <p:column headerText="Chave Acesso" width="350" style="text-align: center">
            <h:outputText value="#{cte.TRANSACTIONID}"/>
        </p:column>

        <p:column headerText="Dt. Criação" width="120" style="text-align: center">
            <h:outputText value="#{cte.IDE_TIMESTAMP}">
                <f:convertDateTime pattern="dd/MM/yyyy" />
            </h:outputText>
        </p:column>

        <p:column headerText="N° Protocolo" width="120" style="text-align: center">
            <h:outputText value="#{cte.IDE_AUTHCODESEFAZ}"/>
        </p:column>

    </p:dataTable>
</h:form>

我使用的是普里米斯5.3并试图使用apache poi 3.8和3.10-FINAL,但两者都不工作的权利。

在日志中我没有错误。

编辑:我已经知道发生了什么。问题是,当我的表加载时,它是空的,但看起来像将其导出到 excel 的按钮,保持某种缓存,表为空,即使在我将数据加载到表中后,按钮也会继续导出 excel 为空。现在,我不知道如何解决这个问题。

共有3个答案

太叔航
2023-03-14

在p:列后添加f:facet头

<p:column>
  <f:facet name="header">
    <h:outputText value="CNPJ Emissor"/>
  </f:facet>

  <h:outputText value="#{cte.EMIT_CNPJ}"/>
</p:column> 
戚良弼
2023-03-14

导出器似乎将该属性用于筛选的数据,因此在第一次,您只会获得标头,因为筛选的数据为空。我建议尝试在页面加载中将数据添加到过滤后的数据中。

拓拔耀
2023-03-14

好吧,如果其他人遇到这个问题,这里是纠正我的答案:我的托管 Bean 是请求范围的。但是当我单击按钮导出 excel 时,它会向管理的 bean 发出新的请求。在此请求中,我的列表为空。我通过在方法 getList 中放置断点来检查这一点。所以我只是将托管 Bean 的范围从请求范围更改为查看范围,它工作正常。

 类似资料:
  • 问题内容: 我在JasperReports 4.1.1中找不到如何在.xlsx中导出文件。班上: 没有Xlsx等效项。而且我找不到参数来设置从xls到xlsx的输出格式。 问题答案: 该 JRXlsxExporter 类应该用于在出口 XLSX 格式。 在JasperReports 5.5.2之前的版本中使用导出器的示例 直到 JasperReports 5.5.1, 此代码可用于以 xlsx 格

  • 嗨,伙计们,我正在尝试使用自己的“导出”按钮创建多个表,我使用ui:重复标签生成所有数据表,问题是我需要将表的ID放在dataextor的目标属性中,因为在JSF中您不能动态生成ID,我无法区分数据表,它们都具有相同的ID:(:

  • 我使用DataTables作为动态sql连接的方式。我想添加按钮导出csv和xml,但它没有出现。还是我弄错了。 非常感谢。

  • 我正在使用primeface 5.1。我试图简单地将数据导出为pdf格式。要使用primeface 5.1的数据导出器,需要添加itext2.1.7依赖项。我的项目是一个基于maven的项目。我添加了依赖项: 代码的相关部分是: datatable工作正常。我认为代码不是问题所在。无论如何,这是我从glassfish 4.1控制台得到的错误: 任何帮助都将是伟大的!

  • 我试图从多个表导出XLS格式。我浏览并使用了一些代码,但它不起作用。使用primeface扩展代码是存在的,但在此链接中似乎没有完整的代码。我需要解决方案。 我用过的代码:Tbl1,Tbl2,Tbl3是表widgetVar的。

  • 为了方便开发者将接口数据分析给第三方或其他使用者,YApi 内置了方便易用的接口数据导出功能。 使用教程 在 项目 -> 数据管理,选择需要导出的数据方式,一共有三种导出方式,html,markdown,json。然后点击导出按钮,将会下载数据文件。