easyexcel icon indicating copy to clipboard operation
easyexcel copied to clipboard

一个excel中,填充多个不同的list时,个别表格第一行和第二行中间自动出现多行空白行,返回的list里没有这种数据

Open xyqzy opened this issue 11 months ago • 2 comments

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失败!");
    }

Image_20240306152735 Image_20240306152715

xyqzy avatar Mar 06 '24 07:03 xyqzy

图中左侧的表格中间出现了空白,空白上的一行和下面的数据是同一个list里的连续数据

xyqzy avatar Mar 06 '24 07:03 xyqzy

试试升级版本

song-yt avatar Mar 20 '24 03:03 song-yt

你好,我们发现此Issue已经超过三个月没有活动了,为了更好的帮助您解决问题,我们将在两周后关闭此Issue,如果您仍然有问题,请在两周内内回复此Issue,谢谢!如果您已经解决或者不需要帮助,请忽略此消息。

gongxuanzhang avatar Jul 19 '24 06:07 gongxuanzhang