EasyExcel配置步骤

1.介绍

EasyExcel是一个基于Java的简单、省内存的读写Excel的开源项目
参考
https://blog.csdn.net/u013044713/article/details/120249233

2.依赖


    com.alibaba
    easyexcel
    3.1.0

            poi-ooxml-schemas
            org.apache.poi

3.准备POJO类(模板)

@Data
public class DemoData {
    @ExcelProperty(value="字符串")
    private String string;
    @ExcelProperty(value="日期值")
    private Date date;
    @ExcelProperty(value="数字值")
    private Double doubleData;
}

4.读

核心思想:读取excel文件的每一个sheet(常用API读取第一个sheet),将每一行(自定排除第一行)解析,转换成一个对象(对象的属性和excel每行的列需要指定关系),每行都会触发一个invoke方法!

4.1.声明监听

// 有个很重要的点 DemoDataListener 不能被spring管理,要每次读取excel都要new,然后里面用到spring可以构造方法传进去
@Slf4j
public class DemoDataListener implements ReadListener {

    /**
     * 这个每一条数据解析都会来调用
     *
     * @param data    one row value. Is is same as {@link AnalysisContext#readRowHolder()}
     * @param context
     */
    @Override
    public void invoke(DemoData data, AnalysisContext context) {
        System.out.println(data);
    }

    /**
     * 所有数据解析完成了 都会来调用
     *
     * @param context
     */
    @Override
    public void doAfterAllAnalysed(AnalysisContext context) {
        // 这里也要保存数据,确保最后遗留的数据也存储到数据库
        System.out.println("解析完毕了吗?。。。。。。。。");
    }
}

4.2.读取

String fileName = "E:/demo.xlsx";
        EasyExcel.read(fileName, DemoData.class, new DemoDataListener()).sheet().doRead();

5.写

核心思想:加载List

List list = ListUtils.newArrayList();
for (int i = 0; i < 10; i++) {
    DemoData data = new DemoData();
    data.setString("字符串" + i);
    data.setDate(new Date());
    data.setDoubleData(0.56);
    list.add(data);
}
EasyExcel.write("E:/xie.xlsx", DemoData.class).sheet("sheettttt").doWrite(list);

Original: https://www.cnblogs.com/sy2022/p/16495992.html
Author: 你会很厉害的
Title: EasyExcel配置步骤

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/593753/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球