Как сохранить данные в файле формата csv? (java)

У меня есть данные, которые необходимо сохранить в файлах форматов xlsx и csv. В xlsx данные data сохраняются с помощью jasperreports:

form.add(new AjaxSubmitLink("reportExcel") {
    @Override
    protected void onAfterSubmit(AjaxRequestTarget target, Form<?> form1) {
        super.onAfterSubmit(target, form);
        BaseReportParameters params = form.getModelObject();
        try {
            JReport report = new JReport();

            report.addParameter("dateFrom", params.getStartDate());
            report.addParameter("dateTo", params.getEndDate());
            report.addParameter("regions", params.getRegions());
            report.addParameter("shops", params.getShops());
            report.addParameter("bonusCards", params.getBonusCards());
            report.addParameter("states", params.getBonusCardStates().stream()
                    .map(s -> s.getLocalName(Session.get().getLocale()))
                    .collect(Collectors.toList())
            );

            List<Map<String, Object>> data = new ArrayList<>();
            
            if (type.equals(ReportTypeEnum.SHOPS)) {
                data = reportService.getShopsReportData(
                        params.getBonusCardStates().stream().map(CustomerStateEnum::getValue).collect(Collectors.toList()),
                        CommonUtils.getIds(params.getBonusCards()),
                        CommonUtils.getIds(params.getShops()),
                        CommonUtils.getIds(params.getRegions()),
                        params.getStartDate(),
                        params.getEndDate()
                );
                report.setTemplate("Shops.jasper");
            }
            download.setPrint(service.compile(report, data, false));
            download.initiate(target);
        } catch (Exception e) {
            form.error(e.getMessage());
        }

        target.add(feedbackPanel);
    }

    @Override
    protected void onError(AjaxRequestTarget target, Form<?> form) {
        target.add(feedbackPanel);
    }
});

Как лучше сохранить эти же самые данные, но уже в формате csv?


Ответы (0 шт):