Я использую JXLS для записи отчета (списка компонентов) в файл xlsx, используя JXLS (версия 2.6.0).
private void writeToXlsxFile(List<MyResult> report, String fileName) throws IOException {
try (InputStream is = new ClassPathResource("template.xlsx").getInputStream()) {
try (OutputStream os = new FileOutputStream(fileName)) {
Context context = new Context();
context.putVar("report", report);
JxlsHelper.getInstance().processTemplate(is, os, context);
}
}
}
MyBean
- это плоский POJO с несколькими свойствами LocalDate
и Boolean
.
Существует ли простой способ написания пользовательских преобразователей и регистрации их в экземпляре JxlsHelper
?
Date convertLocalDateToDate (LocalDate date) {
return Date.from(date.atStartOfDay(ZoneId.systemDefault()).toInstant());
}
String convertBooleanToString (Boolean bool) {
return bool ? "yes" : "no";
}
Я ищу общее преобразование для всех свойств этого типа в MyBean
.
Если не существует простого способа, как мне адаптировать шаблон xlsx для достижения упомянутых преобразований:
LocalDate
-> Date
Boolean
-> String