Я использую Apache Poi и JSF 2.0 в своем приложении для создания отчета в формате Excel.
Код Snipped для генерации Excel.
final FacesContext facesContext = FacesContext.getCurrentInstance();
final ExternalContext externalContext = facesContext
.getExternalContext();
externalContext.setResponseContentType("application/vnd.ms-excel");
externalContext.setResponseHeader("Content-Disposition",
"attachment; filename=\"Excel Sample");
workbook.write(externalContext.getResponseOutputStream());
facesContext.responseComplete();
Как видите, я добавляю "application / vnd.ms-excel" - MIME-тип для сервера. Я просто играю и думаю, сможем ли мы изменить тип MIME на CSV. Я больше не генерирую файл Excel для отчета.
Есть еще одна функция, где я выбираю данные из базы данных и записываю их в ячейки, используя объект HSSF. и я вызываю этот метод (фрагмент кода) после записи данных в каждую ячейку.
То, что я должен написать вместо
externalContext.setResponseContentType ( "применение / vnd.ms-Excel");
Чтобы он генерировал файл с расширением CSV.