easyExcel復雜頭的寫入


背景

最新項目有個新需求,把項目中的數據通過excel的固定模板導出,懶懶的我不怎么會poi就使用easyexcel簡化操作步驟

步驟

根據easyExcel的官方文檔 https://www.yuque.com/easyexcel/doc/easyexcel

第一步 定義DataDemo,把要導出的數據定義為DataDemo類的字段

第二步 添加注解變量 @ExcelProperty("字符串標題"),模板如下

@Data
public class DataDemo{
    @ExcelProperty("字符串標題")
    private String string;
    @ExcelProperty("日期標題")
    private Date date;
    @ExcelProperty("數字標題")
    private Double doubleData;
    /**
     * 忽略這個字段
     */
    @ExcelIgnore
    private String ignore;
}

第三步:將要輸出的數據形成多個DataDemo對象,並存入list集合

第四步:EasyExcel.write(fileName, DemoData.class).sheet("模板").doWrite(list集合);

輸出結果如下圖:

很簡單吧! 但是復雜頭的Excel怎么寫出呢? 類似這種

則DataDemo應該的定義成這樣

@Data
public class ComplexHeadData {
    @ExcelProperty({"主標題", "字符串標題"})
    private String string;
    @ExcelProperty({"主標題", "日期標題"})
    private Date date;
    @ExcelProperty({"主標題", "數字標題"})
    private Double doubleData;
}

如果更復雜的頭呢?
可以參考一下下面代碼

public class MultiLineHeadExcelModel extends BaseRowModel {
 
    @ExcelProperty(value = {"表頭1","表頭1","表頭31"},index = 0)
    private String p1;
 
    @ExcelProperty(value = {"表頭1","表頭1","表頭32"},index = 1)
    private String p2;
 
    @ExcelProperty(value = {"表頭3","表頭3","表頭3"},index = 2)
    private int p3;
 
    @ExcelProperty(value = {"表頭4","表頭4","表頭4"},index = 3)
    private long p4;
 
    @ExcelProperty(value = {"表頭5","表頭51","表頭52"},index = 4)
    private String p5;
 
    @ExcelProperty(value = {"表頭6","表頭61","表頭611"},index = 5)
    private String p6;
 
    @ExcelProperty(value = {"表頭6","表頭61","表頭612"},index = 6)
    private String p7;
 
    @ExcelProperty(value = {"表頭6","表頭62","表頭621"},index = 7)
    private String p8;
 
    @ExcelProperty(value = {"表頭6","表頭62","表頭622"},index = 8)
    private String p9;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM