EasyExcel 的@ExcelCollection
时间: 2023-11-22 21:08:12 浏览: 146
@ExcelCollection是EasyExcel中的一个注解,用于将Java对象中的集合类型属性映射为Excel中的子表格。它可以与@ExcelProperty一起使用,将子表格中的每一行数据映射到Java对象的集合属性中。
使用@ExcelCollection时需要注意以下几点:
1. 集合属性必须是JavaBean类型,即有无参构造函数和getter/setter方法。
2. 集合属性不能为null,否则EasyExcel会抛出NullPointerException。
3. 集合属性的泛型类型必须为JavaBean类型,同样需要有无参构造函数和getter/setter方法。
下面是一个使用@ExcelCollection的示例:
```java
public class DemoData {
@ExcelProperty("姓名")
private String name;
@ExcelProperty("年龄")
private Integer age;
@ExcelProperty("地址")
private String address;
@ExcelProperty("成绩")
private Double score;
@ExcelCollection(name = "科目成绩")
private List<SubjectScore> subjectScores;
// getter/setter方法省略
}
public class SubjectScore {
@ExcelProperty("科目")
private String subject;
@ExcelProperty("分数")
private Double score;
// getter/setter方法省略
}
```
在上面的示例中,DemoData类中的subjectScores属性被@ExcelCollection注解标记为子表格,其中name属性指定了子表格的名称。SubjectScore类表示子表格中的每一行数据,它也使用了@ExcelProperty注解将属性映射到Excel表格中的列。
阅读全文