1.依赖
cn.afterturn easypoi-base 3.2.0 cn.afterturn easypoi-web 3.2.0 cn.afterturn easypoi-annotation 3.2.0
2.实体类
@Data
@ExcelTarget("user")
@AllArgsConstructor
@NoArgsConstructor
@TableName("user")
public class Users implements Serializable {
@Excel(name = "序号", orderNum = "0",needMerge = true)
@TableId(value = "id")
private String id;
@Excel(name = "姓名", orderNum = "1", replace = {"大黄_小黄"},needMerge = true)
@TableField(value = "name")
private String name;
@Excel(name = "年龄", orderNum = "2", suffix = "岁",needMerge = true)
@TableField(value = "age")
private Integer age;
@Excel(name = "生日", width = 20.0, format = "yyyy-MM-dd HH:mm:ss", orderNum = "3",needMerge = true)
@TableField(value = "bir")
private Date bir;
@ExcelEntity
private Files file;
@ExcelCollection(name = "",orderNum = "7")
private List orders;
}
@Data
@AllArgsConstructor
@NoArgsConstructor
@ExcelTarget("file")
public class Files implements Serializable {
private static final long serialVersionUID=1L;
@Excel(name = "文件存储路径",width = 20.0,orderNum = "5",needMerge = true)
private String filePath;
@Excel(name = "文件名称",width = 20.0,orderNum = "4",needMerge = true)
private String fileName;
@Excel(name = "文件后缀名",width = 20.0,orderNum = "6",needMerge = true)
private String fileSuffix;
}
@Data
@ExcelTarget("orders")
@AllArgsConstructor
@NoArgsConstructor
@TableName("order")
public class Order implements Serializable {
private String no;
@Excel(name = "订单名称",width = 20.0,orderNum = "7")
private String oname;
}
3.实现类
@SpringBootTest
public class Test1 {
@Autowired
private UserMapper userMapper;
@Test
public void ExportTest() throws IOException {
//获取参数
List users = userMapper.selectList();
// 参数1 exportParams 导出配置对象 参数2 导出类型 参数3 导出数据集合
Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams("用户信息列表", "用户信息"), Users.class, users);
//将excel写入指定位置
FileOutputStream ous = new FileOutputStream("D:\测试.xlsx");
workbook.write(ous);
ous.close();
workbook.close();
}
}
4.XML



