Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / JasperReports и передача отчётных данных в EXCEL / 5 сообщений из 5, страница 1 из 1
19.03.2007, 11:03
    #34399522
verter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JasperReports и передача отчётных данных в EXCEL
Для построения отчёта из Java-приложения использую JasperReports версии 1.3.0. Отчёт необходимо представить в MS EXCEL. Создаю шаблон отчёта в iReport версии 1.3.0. В Java-коде пишу следующее:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
public static void exportToExcel(HttpServlet servlet,
                                           HttpServletResponse response,
                                           String template,
                                           Map parameters,
                                           JRDataSource dataSource) throws Exception 
{
    File f = new File(servlet.getServletContext().getRealPath(template));
    if (!f.exists()) throw new JRRuntimeException("File '" + template + "' not found");

    response.setContentType("application/vnd.ms-excel;charset=Windows-1251");
    response.setHeader("Content-Disposition","attachment;filename=\"report.xls\"");
    JasperReport jasperReport = (JasperReport)JRLoader.loadObject(f);
    JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,
                                                                          parameters,  	
                                                                          dataSource);
    JRXlsExporter exporter = new JRXlsExporter();
    exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
    exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, response.getOutputStream());
    exporter.exportReport();
}

-- место где строю отчёт
Map jrParams = new HashMap();
jrParams.put("REPORT.TITLE", "Отчёт"));

Vector data;
-- заполняю вектор
...........................

exportToExcel(servlet,
                    params.response,
                    "/WEB-INF/templates/report_template.jasper",
                    jrParams,
                    data);

OutputStream out = params.response.getOutputStream();

if (out != null) {
    out.flush();
    out.close();
}

Отчёт строится нормально и всё в Excel выводит нормально, но почему то все double-значения в Excel попадают в ячейки с общим форматом, а как указать jasper'у чтобы в Excele'е формат ячеек для double значений был числовой и с точностью, скажем, 2 знака после запятой?
...
Рейтинг: 0 / 0
29.03.2007, 21:34
    #34426032
Олег Гапон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JasperReports и передача отчётных данных в EXCEL
....порыться в исходниках класса JRXlsExporter
...
Рейтинг: 0 / 0
29.03.2007, 21:35
    #34426035
Олег Гапон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JasperReports и передача отчётных данных в EXCEL
....порыться в исходниках класса JRXlsExporter
...
Рейтинг: 0 / 0
04.04.2007, 21:58
    #34438914
AVI
AVI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JasperReports и передача отчётных данных в EXCEL
Зайди на сайт jasper report там есть доработки к нему, которые фиксят это.
...
Рейтинг: 0 / 0
04.05.2007, 18:52
    #34506113
verter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JasperReports и передача отчётных данных в EXCEL
Нужно просто было добавить следующее:

exporter.setParameter(JExcelApiExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE);
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / JasperReports и передача отчётных данных в EXCEL / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]