powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / JasperReports и передача отчётных данных в EXCEL
5 сообщений из 5, страница 1 из 1
JasperReports и передача отчётных данных в EXCEL
    #34399522
verter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для построения отчёта из 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
JasperReports и передача отчётных данных в EXCEL
    #34426032
Олег Гапон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
....порыться в исходниках класса JRXlsExporter
...
Рейтинг: 0 / 0
JasperReports и передача отчётных данных в EXCEL
    #34426035
Олег Гапон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
....порыться в исходниках класса JRXlsExporter
...
Рейтинг: 0 / 0
JasperReports и передача отчётных данных в EXCEL
    #34438914
AVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зайди на сайт jasper report там есть доработки к нему, которые фиксят это.
...
Рейтинг: 0 / 0
JasperReports и передача отчётных данных в EXCEL
    #34506113
verter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно просто было добавить следующее:

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


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