三、测试各种功能
1.读取Excel文件
注:这里read的第一个参数表示要读excel文件地址,先将文件拉取到项目中,右键点击excel文件,点击Copy Path进行复制。最后点击运行该方法就可以看到读取到excel中的数据。
@Test public void test01(){ /** * Build excel the read 构建一个读的工作簿 * * @param pathName 读文件的路径 * File path to read. * @param head 每一行数据存储的到的实体类的类型的class * Annotate the class for configuration information. * @param readListener 监听器 没读一行内容都会调用该对象的invoke,在invoke可以操作使用读取到的数据 * Read listener. * @return Excel reader builder. */ // 获取工作簿对象 excel文件位置 最后一个参数是监听器类 ExcelReaderBuilder readWorkBook = EasyExcel.read("E:\blank\EasyExcel\杭州黑马在线202003班学员信息表.xlsx", Student.class, new StudentListener()); // 获取工作表对象 ExcelReaderSheetBuilder sheet = readWorkBook.sheet(); // 读取表中的内容 sheet.doRead();
2.写入Excel
注:实体类中加入注解@ExcelProperty,注解中value的值代表,写入excel的表头。
@Data @AllArgsConstructor @NoArgsConstructor @ColumnWidth(20) public class Student { /** * id */ //index 代表表头的位置,否则默认 各个参数在本类中的位置 //@ExcelProperty(value = "编号",index = 3) //忽略在表中不会显示该字段 @ExcelIgnore private String id; /** * 学生姓名 */ @ExcelProperty(value = "学生姓名") //表示列的宽度 //@ColumnWidth(30) private String name; /** * 学生性别 */ @ExcelProperty(value = "学生性别") private String gender; /** * 学生出生日期 */ @ExcelProperty(value = "学生出生日期") //@ColumnWidth(20) private Date birthday; }
注:测试类中加入写入excel的方法
@Test public void test02(){ ExcelWriterBuilder writeWorkBook = EasyExcel.write("E:\blank\EasyExcel\在线学员信息表.xlsx", Student.class); ExcelWriterSheetBuilder sheet = writeWorkBook.sheet(); //doWrite(initData()之前提前加入的生成数据的方法。 sheet.doWrite(initData()); }