easyexcel
easyexcel copied to clipboard
一个excel中,填充多个不同的list时,个别表格第一行和第二行中间自动出现多行空白行,返回的list里没有这种数据
String templateFileName = "fill" + File.separator + "composite33.xlsx"; String fileName = uploadPath + File.separator + "compositeFill" + ".xlsx"; // 方案1 try (InputStream res = this.getClass().getClassLoader().getResourceAsStream(templateFileName); ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(res).build(); ) { WriteSheet writeSheet = EasyExcel.writerSheet().build(); Date thisDate = new Date(); Date yesterdayDate = DateUtil.yesterday(); String yesterday = DateUtil.format(yesterdayDate, "yyyy-MM-dd"); Map<String, Object> map = new HashMap<>(); map.put("date", thisDate); map.put("yesterday", yesterday); map.put("thisDate", DateUtil.format(thisDate, "yyyy-MM-dd")); map.put("week", String.valueOf(DateUtil.weekOfYear(yesterdayDate))); map.put("month", String.valueOf(DateUtil.month(yesterdayDate)+1)); map.put("year", String.valueOf(DateUtil.year(yesterdayDate))); map.put("lastYear", String.valueOf(DateUtil.year(yesterdayDate) -1)); String quarterStr = "Q"+DateUtil.quarter(yesterdayDate); map.put("quarter", quarterStr); map.put("title", "*每周按日历周统计;今年的数据计算到天,去年同期计算到月,同比增长率只在月末才显示值"); excelWriter.fill(map, writeSheet);
FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
// 如果有多个list 模板上必须有{前缀.} 这里的前缀就是 data1,然后多个list必须用 FillWrapper包裹
excelWriter.fill(new FillWrapper("orgReport", orgReport), fillConfig, writeSheet);
excelWriter.fill(new FillWrapper("blReport", blReport), fillConfig, writeSheet);
excelWriter.fill(new FillWrapper("areaReport", areaReport), fillConfig, writeSheet);
excelWriter.fill(new FillWrapper("plReport", plReport), fillConfig, writeSheet);
excelWriter.fill(new FillWrapper("orgSaleReport", orgSaleReport), fillConfig, writeSheet);
excelWriter.fill(new FillWrapper("blSaleReport", blSaleReport), fillConfig, writeSheet);
excelWriter.fill(new FillWrapper("areaSaleReport", areaSaleReport), fillConfig, writeSheet);
excelWriter.fill(new FillWrapper("plSaleReport", plSaleReport), fillConfig, writeSheet);
excelWriter.finish();
} catch (Exception ex) {
log.error("填充附件Excel失败" + JSON.toJSONString(ex));
throw new MktSellException("填充附件Excel失败!");
}
图中左侧的表格中间出现了空白,空白上的一行和下面的数据是同一个list里的连续数据
试试升级版本
你好,我们发现此Issue已经超过三个月没有活动了,为了更好的帮助您解决问题,我们将在两周后关闭此Issue,如果您仍然有问题,请在两周内内回复此Issue,谢谢!如果您已经解决或者不需要帮助,请忽略此消息。