思路:

        在controller定义一个map,将map传入excel监听器,在监听器中处理excel的数据,读取到某一行出现错误就将错误提示信息存入map并抛出一个异常给service。在service方法上开启事务,并将异常出实现数据回滚,controller将异常try..catch,在catch中返回map

controller:

思路:在service做数据回滚,在控制层做错误提示信息返回,将map到service

参数说明:

        outmap:用来存放返回给前端的提示信息

        file:excel文件

 

Service:

思路:添加@Transational注解,将map传入监听器,监听器抛出异常就回滚数据。

说明:我在监听器中自动装配不到持久层roleDao,所以在监听器中重写构造方法来接收。你们可以装配到就不用我这么麻烦了。

参数说明:

        in:Excel文件流

        ExcelModel.class:Excel对应的实体类

        RoleListener:监听器(数据的写入都在监听器中完成)

 

监听器:

说明:代码太多,只截关键部分,明白那个意思就行

参数说明:

        ExcelModelVo:excel对应的实体类,一个实体类代表一行数据

        analysisContext:每行数据的基本信息,例如可以获取当前读取的行数

 

GitHub 加速计划 / ea / easyexcel
27
5
下载
快速、简洁、解决大文件内存溢出的java处理Excel工具
最近提交(Master分支:4 个月前 )
c42183df Bugfix 1 年前
efa7dff6 * 重新加回 `commons-io` 1 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐