官网地址:读Excel · 语雀
导入依赖坐标com.alibaba easyexcel2.2.11
注解api 讲解: @ExcelProperty 指定当前字段对应excel中的那一列。可以根据名字或者Index去匹配。当然也可以不写,默认第一个字段就是index=0,以此类推。千万注意,要么全部不写,要么全部用index,要么全部用名字去匹配。千万别三个混着用,除非你非常了解源代码中三个混着用怎么去排序的。 @ExcelIgnore 默认所有字段都会和excel去匹配,加了这个注解会忽略该字段 @DateTimeFormat 日期转换,用String去接收excel日期格式的数据会调用这个注解。里面的value参照java.text.SimpleDateFormat @NumberFormat 数字转换,用String去接收excel数字格式的数据会调用这个注解。里面的value参照java.text.DecimalFormat @ExcelIgnoreUnannotated 默认不加ExcelProperty 的注解的都会参与读写,加了不会参与
代码实现简单的excel表格的读写操作: @Configuration public class AliinListion extends AnalysisEventListener{ public List list = new ArrayList<>(); // 读数据每次都会进行调用invoke 的方法 (可以在invoke方法里面进行逻辑的处理) @Override public void invoke(User user, AnalysisContext analysisContext) { System.out.println(user); } // 读取完工作薄最后调用的方法 @Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { } }
实体类:
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class User {
@ExcelIgnore
@ExcelProperty(value = "ID")
private Long id;
@ExcelProperty(value = "性别")
private String sex;
@ExcelProperty(value = "出生日期")
@DateTimeFormat("YYYY-MM-dd DD:mm:ss")
private Date birthday;
@ExcelProperty(value = "学生姓名")
private String name; }
public class EasyExcelTest {
@Autowired
private AliinListion aliinListion;
// 完成execle 表格的读写需要先进行监听是实现
@Test
public void test01() {
// 创建工作薄
ExcelReaderBuilder readWrodBook = EasyExcel.read("F:\easyexcle\src\main\resources\qwe.xlsx", User.class, aliinListion);
// 创建工作表
ExcelReaderSheetBuilder sheet = readWrodBook.sheet();
// 读取数据;
sheet.doRead();
}
@Test
public void test02() {
// 创建工作薄
ExcelWriterBuilder write = EasyExcel.write("F:\easyexcle\src\main\resources\qwe_____.xlsx", User.class);
// 创建工作表
ExcelWriterSheetBuilder sheet = write.sheet();
// 往里面进行编写数据;
sheet.doWrite(init());
}
public List init() {
ArrayList userArrayList = new ArrayList<>();
for (int i = 0; i < 10; i++) {
User user = new User();
user.setBirthday(new Date());
user.setName("张三" + i);
user.setSex("男");
userArrayList.add(user);
}
return userArrayList;
}
}
官网地址: https://www.yuque.com/easyexcel/doc/read



