我正在使用JXLS使用JXLS(版本2.6.0)将报告(bean列表)写入xlsx文件。
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
是具有多个LocalDate
和Boolean
属性的平面POJO。
是否有直接的方法来编写自定义转换器并将其注册到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