最近在做数据的导出 ,有的导出是一个对象 有的是无对象 ,并且有的是动态的表头
在这我使用的eaxyexcle 最新版
依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.1.1</version>
<exclusions>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
</exclusion>
</exclusions>
<dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
导出表格数据
工具类
/**
* @Title: SheetDTO
* @Description: 这里是为了接受不同的实体对象,直接循环集合写入
* @Date: 2023/4/13 15:17
*/
@Data
public class SheetDTO {
/**
* 类型 区分有没有表头 1对象 2无表头 3定义表头
*/
private Integer type;
/**
* sheet页面
*/
private Integer index;
/***
* sheet名字
*/
private String fileName;
/**
* 类型
*/
private Class<? extends Object> classType;
/**
* 数据
*/
private List<? extends Object> dataList;
}
package com.jianfan.module.edc.util;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelWriter;
import com.alibaba.excel.support.ExcelTypeEnum;
import com.alibaba.excel.write.builder.ExcelWriterBuilder;
import com.alibaba.excel.write.metadata.WriteSheet;
import com.jianfan.module.edc.excel.conver.CustomSheetWriteHandler;