EasyExcel实现Excel解析并返回解析失败数据思路
EasyExcel实现Excel解析并返回解析失败数据思路
- 需求说明
项目中需要使用到Excel文件上传,处理解析Excel表格数据落库,并返回处理失败的统计数据;
- 相关技术及插件
这里选择使用阿里开源的EasyExcel来做Excel表格数据的主要处理工具;
相关maven依赖暂不赘述,需要自行百度,后期会补充上;
- 代码思路梳理
a) 参考借鉴文档编写监听器
借鉴示例:https://www.yuque.com/easyexcel/doc/read#5c70a7ac
b) 自定义监听器中可以添加一个List/Map类型的变量用来记录解析失败的数据集
c) 监听器中重写onException方法,在数据解析失败时,将失败信息记录到上一步添加的失败结果集中;
借鉴示例:https://www.yuque.com/easyexcel/doc/read#5c70a7ac-6
d) 在进行数据处理时,可以使用转换器,自定义转换器,重写相关方法并在方法内进行数据的非空等数据校验,校验失败抛出相应异常提示信息;
借鉴示例:https://www.yuque.com/easyexcel/doc/read#f69f4ca7
e) 转换过程中的异常信息在监听器中的onException方法中做相应处理,存入异常结果集中;
f) 方法执行完成后获取异常结果集返回给前端显示;
在读取excel时不能使用同步返回方式,使用此方式不会走监听器
此文章暂时处于理论阶段,并未做实际代码开发;如果存在错误,或者哪位仁兄有更高的见解,欢迎指导评论
EasyExcel实现Excel解析并返回解析失败数据思路相关推荐
- 解析ajax返回的json数据
问题描述 最近在开发一个音乐小网站的时候,因为返回的数据是多重数组对象(即数组里面嵌套数组),所以不知道如何解析api返回的json数据.返回的json数据格式如下: json总体结构如下: json ...
- Java解析接口返回的xml数据
Java解析接口返回的xml数据 前言 实例 前言 前一段时间,博主在工作遇到了一个小问题,就是调用一个接口后,它的返回值并不是常见的JSON字符串格式,而是返回给你一个xml格式的数据,所有的 ...
- php 解析返回的xml,php解析cas返回的xml解决思路
php解析cas返回的xml 使用php进行cas验证时,对方返回这么一段xml zhangjian 于是使用php相关函数进行解析 $str = << zhangjian EOT; /* ...
- Shell解析curl返回的json数据
主要介绍两种方式,第一种是使用jq(需要单独安装),第二种是使用python(建议). 一.使用jq 1.安装JQ 方式1:下载二进制文件 wget -O jq https://github.com/ ...
- ajaxfileupload 返回值_ajaxFileUpload上传文件成功后却无法解析服务器返回的json数据...
ajaxFileUpload是一款很好用的文件上传插件,网上也有很多关于它的版本,但在上传文件成功后想返回json数据给前台时,却会出现无法解析json数据的情况. 仔细调试发现其实在向服务器提交数据 ...
- 基于EasyExcel的读取exl并返回成功/失败数量及原因,并将导入失败exl的导出到系统路径中
首先,这个是读取和导出exl都需要用到的实体类的基类,这个是可以扩展的,读取失败的exl想要加入其它列的字段都可以加在这里 pom <dependency><groupId>c ...
- 在AFN中使用NSXMLParser解析服务器返回的XML数据
服务器返回的XML格式: 因为苹果没有提供直接获取xml开始标签和结束标签中间的字符串,虽然提供了 - (void)parser:(NSXMLParser *)parser foundCharacte ...
- WebService传递XML数据 C#DataSet操作XML 解析WebService返回的XML数据
贴图 知乎:显著提升程序员身心健康和工作效率的装备有哪些? 笔记本: 1.银河舰队 PAVILION 15-bc011TX光暗影精灵2 2.顽石 -FL5900U7500超薄i7(性价比最高) ...
- js的eval函数解析后台返回的json数据时为什加上圆括号eval((+data+)),而HTML页面定义的数据不用...
一,情况如下,这是成功代码: $(function () {$.ajax({url: "Demo.aspx",type: "post",data: { Id: ...
最新文章
- HDU 4267 线段树 离散点区间更新, 自叶子节点至根单点查询
- Servlet 第六课: Session的使用
- unity 代码边缘发光_Shader案例之内发光和边缘泛光效果
- Java反射在整个程序运行中的位置
- AndroidStuido编译release版本apk(非签名apk)
- ML之RS:基于用户的CF+LFM实现的推荐系统(基于相关度较高的用户实现电影推荐)
- 微软雷德蒙德和伦敦地区掀起新一轮裁员 涉及数百人
- html5/css3响应式页面开发总结
- 10 个 GitHub 上最火的程序员简历项目,2021 金三银四必备!
- php删除数组中的空元素_PHP | 从数组中删除所有出现的元素
- 集群负载均衡之lvs和keepalived
- LeetCode 312. 戳气球(Burst Balloons)
- 1.1.29 加入项目符号后换行文字未对齐
- spring boot缓存excel临时文件后再操作
- java代码sudo命令_讓Java程序運行sudo命令
- Windows 10 操作系统,更新之后无法打开Windows Mobile 设备中心,要么双击无反应。要么正在启动,过会就关闭了。
- 朝花夕拾 - 2020 1024
- IIS是不是相当于服务器?
- Matrixport,交易、借贷和托管,如何打造数字货币界的银行?
- 动态链接库 (DLL)
热门文章
- WIN10 解决VMware开启Intel VT-x问题
- 企业上云,就上...
- python flask+apscheduler定时任务导致数据重复和错误
- Linux安装JDK8教程
- 记录一次nodejs 从高得地图根据地名获取经纬度
- Topaz Video AI for mac(视频增强和修复工具)
- android sd卡目录查看,Android sd卡目录详解
- ps怎么抠图-ps怎么抠图换背景透明
- 指纹识别与交互(冯建江,2022)
- linux开发板led怎么亮,飞凌OK6410开发板(裸板) 第一个点亮LED灯程序