Экспорт Primefaces Excel не работает - диалог открытия / сохранения не отображается - PullRequest
3 голосов
/ 11 октября 2011

Я пытаюсь экспортировать коллекцию dtos, чтобы преуспеть с такими простыми лицами (как и демонстрационная демонстрация простых лиц, которая работает).

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

Я наблюдал с firebug, и он делает запрос, также ответ выглядит как содержимое файла, но диалог сохранения / открытия файла не появляется. Я использую Mojarra 2.1.1 и Tomcat 6 для сервера приложений.

Ответы [ 3 ]

11 голосов
/ 12 октября 2011

<p:commandButton> отправляет по умолчанию запрос ajax. Вы не можете загружать файлы с помощью AJAX. Ajax выполняется Javascript, но из-за ограничений безопасности у Javascript нет способа заставить Сохранить как диалог и передать ему ответ ajax.

Вам необходимо добавить ajax="false" к компоненту:

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

Или просто используйте обычный <h:commandButton>:

<h:commandButton value="Export">
1 голос
/ 14 ноября 2017

Заключите его в <h:form>...</h:form>, и оно будет работать Например:

<h:form>
<p:commandButton value="Export">
    <p:dataExporter type="xls" target="results" fileName="game_statistics" />
</p:commandButton>
</h:form>
0 голосов
/ 12 октября 2011

Primefaces не поддерживает динамические столбцы, если вы их используете (под динамическим столбцом я подразумеваю значения атрибутов динамического столбца).Вы можете использовать POI для обхода, но я не знаю, что именно вы пытаетесь сделать.Покажите нам код.Какую версию Primefaces вы используете?

...