easyexcel动态表头

主要是理解使用方法:

这里我详细说一下这个结构:

  • 内层List:每个List对应的是表头中的每一列单元格,长度最大的List的长度决定了表头的行数,并且会合并每个List下标和内容都相同的单元格。
  • 外层List:最终的表头结构。

小结:内层List元素的下标对应excel中的行标,外层List元素的下标对应excel中的列标,每个内层List中下标相同并且内容相同的相邻元素在excel中会被合并为一个单元格。

 

 

public void head(){
        String fileName = "./头" + System.currentTimeMillis() + ".xlsx";

        List<List<String>> dataList = new ArrayList<>();
        List<List<String>> header = new ArrayList<>();
        
        List<String> cellContain1 = new ArrayList<>();
        cellContain1.add("大连");
        cellContain1.add("中山区");
        cellContain1.add("中山广场");
        header.add(cellContain1);

        List<String> cellContain2 = new ArrayList<>();
        cellContain2.add("大连");
        cellContain2.add("沙河口区");
        cellContain2.add("中山广场");
        header.add(cellContain2);

        List<String> cellContain3 = new ArrayList<>();
        cellContain3.add("成都");
        cellContain3.add("锦江区");
        cellContain3.add("中山广场");
        header.add(cellContain3);

        List<String> cellContain4 = new ArrayList<>();
        cellContain4.add("成都");
        cellContain4.add("青羊区");
        cellContain4.add("万达广场");
        header.add(cellContain4);

        List<String> cellContain5 = new ArrayList<>();
        cellContain5.add("大连");
        cellContain5.add("甘井子区");
        header.add(cellContain5);

        EasyExcel.write(fileName)
                // 这里放入动态头
                .head(header).sheet("TEST")
                .doWrite(dataList);

 

 

参考:https://www.freesion.com/article/6561975759/

posted @ 2022-07-08 17:49  0o飞行天下o0  阅读(5611)  评论(0编辑  收藏  举报