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

PrimeFaces 3.2数据导出器不工作

徐奇
2023-03-14

我正在使用PrimeFaces 3.2并想将动态创建的表导出为. xls文件。当我单击导出时,似乎什么都没有发生。

导出代码

<h:commandLink id="Download_Excel_Format" ajax="false">  
<p:graphicImage value="/resources/Excel_Icon.jpg" height="25" width="25" />
<p:dataExporter type="xls" target="dataTable" fileName="SomeFileName"/>  
</h:commandLink>

数据表

<p:dataTable id="dataTable" var="c" value="#{databaseSearch.customerList}"  
                                     paginator="true" rows="10" paginatorAlwaysVisible="false"
                                     paginatorTemplate="Page {CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}  Rows per page {RowsPerPageDropdown}"  
                                     rowsPerPageTemplate="5,10,15,30">  

                            <p:column>  
                                <f:facet name="header">  
                                    <h:outputText value="Machine" />  
                                </f:facet>  
                                <p:commandButton id="basic" value="#{c.machine}" action="#{updateEntry.setMachine(c.machine)}" oncomplete="dlg1.show();" styleClass="ui-Machinebutton" update=":Update_Entry"/>
                                <p:tooltip for="basic" value="Update/Delete Database Entry" showEffect="fade" hideEffect="fade" />

                            </p:column>  

                            <p:column>  
                                <f:facet name="header">  
                                    <h:outputText value="Company" />  
                                </f:facet>  
                                <h:outputText value="#{c.company}" />
                            </p:column>  

                            <p:column>  
                                <f:facet name="header">  
                                    <h:outputText value="Contact" />  
                                </f:facet>  
                                <h:outputText value="#{c.contact}" />  
                            </p:column>  

                            <p:column>  
                                <f:facet name="header">  
                                    <h:outputText value="Phone" />  
                                </f:facet>  
                                <h:outputText value="#{c.phone}" />  
                            </p:column>  

                            <p:column>  
                                <f:facet name="header">  
                                    <h:outputText value="Email" />  
                                </f:facet>  
                               <!-- <h:outputText value="#{c.email}" />-->
                                <h:outputLink value="mailto:#{c.email}?Subject=Baseline Monitor Alert | Machine : #{c.machine}">#{c.email}</h:outputLink>
                            </p:column>  

                        </p:dataTable> 

dataTable和Export命令都在一个表单中,但是dataTable在输出面板中(在表单中)。

类型

<h:form prependId="false" id="Main_Form">
</h:form>

输出面板

<p:outputPanel id="panel" autoUpdate="false">
</p:outputPanel>

我甚至更新到PrimeFaces 3.4.2,看看dataExporter是否可以工作,但没有用,据我所知,如果dataTable动态生成列,3.2有一个bug,但这里不是这样的,对吗?我做错什么了吗?

dataExporter选项看起来简单得多,但若有足够简单的替代方案,我会支持它。

使现代化

我正在使用GlassFish3.1.2.2(构建5)

共有1个答案

蓟俊杰
2023-03-14

好的,我找到答案了!但有一个棘手的问题。。。我有一个ID为submit的commandButton。。。重命名它,这就成功了!

<p:commandButton id="xsubmit" icon="ui-icon-search" title="Search Database" update="panel" actionListener="#{databaseSearch.customerList}" />
 类似资料:
  • 我正在使用primeface 5.1。我试图简单地将数据导出为pdf格式。要使用primeface 5.1的数据导出器,需要添加itext2.1.7依赖项。我的项目是一个基于maven的项目。我添加了依赖项: 代码的相关部分是: datatable工作正常。我认为代码不是问题所在。无论如何,这是我从glassfish 4.1控制台得到的错误: 任何帮助都将是伟大的!

  • 我的问题是,当我单击按钮导出数据表时,它只导出列标题,我的 excel 文件生成时没有行。 我使用的是普里米斯5.3并试图使用apache poi 3.8和3.10-FINAL,但两者都不工作的权利。 在日志中我没有错误。 编辑:我已经知道发生了什么。问题是,当我的表加载时,它是空的,但看起来像将其导出到 excel 的按钮,保持某种缓存,表为空,即使在我将数据加载到表中后,按钮也会继续导出 ex

  • 我试图使用Windows上的MySQL Workbench 6.0导出我的数据库,以发送到Amazon RDS中的db实例,但我得到了以下错误: 有人有什么想法可以帮助我吗?

  • 尝试导出大型数据库时,我收到以下错误消息: 有什么线索吗?我应该怎么做才能成功地将表从在线导出到离线。我想从Web服务器下载本地的sql。 在这种情况下,我正在使用mysql工作台从在线导出sql。

  • 我是docker的新手,在运送数据容器时遇到了一个问题。好的,通常我们会发送图像,用户可以根据需要从该图像中启动容器,对吗? 现在我也想运送一些数据——所以我做了一个数据容器: 接下来,我简单地启动了一个bash,并将一些数据插入到我的数据容器中 现在我想允许我的团队成员使用相同的数据(脱机),所以我想“发送”我的数据容器给他们。因此我使用 但是当我重新导入这个 我不能使用这个“容器”,因为它似乎

  • 我遇到了有关数据库导出的问题。首先,我必须澄清我正在使用MySQL Workbench 5.2.47。到目前为止,我遵循的过程如下: > 我按照http://mysqlworkbench.org/2012/07/migrating-from-ms-sql-server-to-mysql-using-workbench-migration-wizard/的指示创建了与MSSQL DB的连接,以便将其