一、Maven依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel-core</artifactId>
<version>3.1.1</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<artifactId>slf4j-api</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
二、Java代码示例
/**
* 使用EasyExcel生成excel文件,返回文件输入流信息
* @param dataList 数据集合
* @param classType 数据类型
* @return InputStream excel文件输入流信息
*/
private <T> InputStream createExcelByEasyExcel(List<T> dataList, Class<T> classType) {
// 创建一个流,等待写入excel文件内容
try(ByteArrayOutputStream out = new ByteArrayOutputStream();) {
// 将excel文件写入ByteArrayOutputStream中
// 指定类类型,启用自动关闭流,设置工作表名称,并执行写入操作
EasyExcel.write(out, classType).autoCloseStream(true).sheet("Sheet1").doWrite(dataList);
// 返回inputStream流
return new ByteArrayInputStream(out.toByteArray());
} catch (Exception e) {
log.error("export error",e);
}
return null;
}
三、导出的实体类类型示例
@Data
public class Person{
/**
* 姓名
*/
@ExcelProperty("姓名")
private String name;
/**
* 年龄
*/
@ExcelProperty("年龄")
private Integer age;
/**
* 地址
*/
@ExcelProperty("地址")
private String address;
}