Primefaces excel export is not working - no open/save dialog is shown

◇◆丶佛笑我妖孽 提交于 2019-12-23 17:51:26

问题


I am trying to export collection of dtos to excel with primefaces like this (the same as primefaces showcase demo, which is working).

<p:commandButton value="Export">
    <p:dataExporter type="xls" target="results" fileName="game_statistics" />
</p:commandButton>

I observed with firebug and it makes request, also the response looks like file content, but no file save/open dialog is popping. I am using mojarra 2.1.1 and tomcat 6 for app server.


回答1:


The <p:commandButton> sends by default an ajax request. You can't download files with ajax. Ajax is executed by Javascript, but Javascript has due to security restrictions no way to force a Save As dialogue and pass the ajax response to it.

You need to add ajax="false" to the component:

<p:commandButton value="Export" ajax="false">

Or just use a regular <h:commandButton>:

<h:commandButton value="Export">



回答2:


Enclose it into <h:form>...</h:form> and it will work For example:

<h:form>
<p:commandButton value="Export">
    <p:dataExporter type="xls" target="results" fileName="game_statistics" />
</p:commandButton>
</h:form>



回答3:


Primefaces doesn't support dynamic columns if you're using ones (by dynamic column I mean dynamic column attributes values). You can use POI for a workaround, but I don't know what exactly are you trying to do. Show us some code. What version of Primefaces are you using?



来源:https://stackoverflow.com/questions/7729028/primefaces-excel-export-is-not-working-no-open-save-dialog-is-shown

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!