Как разрешить пользователю загружать данные из базы данных в файл листа Excel из веб-приложения на Java / Struts? - PullRequest
0 голосов
/ 03 марта 2011

Я хочу создать отчет, который включает в себя таблицу Excel, которая создается на основе данных из базы данных. Я использую Apache POI HSSF для создания файла листа Excel в модели.

Теперь, как позволить пользователю загрузить созданный мной файл?

1 Ответ

4 голосов
/ 03 марта 2011

Просто используйте сервлет. Поток response.getOutputStream() в POI HSSF для записи рабочей книги. Самый важный бит - заголовок ответа Content-Disposition. Если вы установите attachment, то в браузере появится диалог Сохранить как .

response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=name.xls");
WritableWorkbook workBook = Workbook.createWorkbook(response.getOutputStream());
// ...

Затем пусть URL-адрес загрузки указывает на этот сервлет, если необходимо, с некоторыми параметрами запроса или информацией о пути.

...