Создать CSV-файл в JSF 2.0 - PullRequest
       16

Создать CSV-файл в JSF 2.0

0 голосов
/ 16 января 2012

Я использую 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.

Ответы [ 2 ]

1 голос
/ 01 марта 2013
response.setContentType("text/comma-separated-values; charset=utf8");
1 голос
/ 17 января 2012

Обычный mimetype для CSV-файла: text/csv

При создании файла обязательно указывайте значения правильно. Возможно, стоит использовать существующую библиотеку, чтобы убедиться, что это сделано, особенно если у вас сложные значения

...