Как сохранить данные в файле формата 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?