Springboot-easyexcel 导入

1、 pom.xml 引入 easyexcel

<!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>3.0.3</version>
</dependency>

2. 编写EasyExcelUtil.java

2.1  写excel

EasyExcel.write(fileName,XXBean.class).sheet("1").doWrite(objList);

2.2 读Excel

 EasyExcel.read(fileName,clazz.getClass(), listener).sheet().doRead();


2.3 引入 Listener

需要引入 Listener

/**
 * EasyExcel 导入监听
 */
public class ExcelListener extends AnalysisEventListener {
    //可以通过实例获取该值
    private List<Object> datas = new ArrayList<Object>();
 
    @Override
    public void invoke(Object o, AnalysisContext analysisContext) {
        datas.add(o);//数据存储到list,供批量处理,或后续自己业务逻辑处理。
        doSomething(o);//根据自己业务做处理
    }
 
    private void doSomething(Object object) {
        //1、入库调用接口
        System.out.println("parse obj:"+object.toString());
    }
 
    public List<Object> getDatas() {
        return datas;
    }
 
    public void setDatas(List<Object> datas) {
        this.datas = datas;
    }
 
    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
        // datas.clear();//解析结束销毁不用的资源
    }
}

3. 保存数据

   //获取数据
            List<Object> list = listener.getDatas();
            // excel中的数据导入到数据库
            xxxService.saveDatas(list,clazz,user);

4. 导入中的问题,日期格式处理

字段可设置为 string类型;定义string 格式化日期的format

数据库可以为 Datetime类型;以mysql 为例;其他数据库未测试。

@ExcelProperty(value="审批时间" ,index=1)

@DateTimeFormat(value="yyyy-MM-dd")

private String auditDate;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值