开发者

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

开发者 https://www.devze.com 2023-04-12 12:08 出处:网络
I am trying to export collection of dtos to excel with primefaces like this (t开发者_StackOverflow中文版he same as primefaces showcase demo, which is working).

I am trying to export collection of dtos to excel with primefaces like this (t开发者_StackOverflow中文版he 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.


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


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>


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?


I have a form page and I want to use filters from it and apply some validations before extracting data from the managed bean (jpa repository) when I click the commandButton, but the behavior of dataExporter it's to export the file right away, and then if I click again I get the right results, since the bean already worked on it at the first action...

Using the preProcessor option of dataExporter as a first step does the job, but I know it's not the right way to do this (should use for doc formatting etc), but I didn't find any other way to solve this (p.s. my case is for Export Page Data Only, not rendering the dataTable), does anyone have an alternative/solution for that?

0

精彩评论

暂无评论...
验证码 换一张
取 消