JXLS的自定义转换器

时间:2019-05-14 08:06:01

标签: java excel jxls

我正在使用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是具有多个LocalDateBoolean属性的平面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

0 个答案:

没有答案