最新要闻
- 59岁水均益罕现身和富婆合影,吃大餐喝名贵酒,模样大变发福油腻
- 比奥迪Q3更值得买!全新凯迪拉克GT4官图发布:颜值真能打 时讯
- 要涨价了!上海迪士尼6月23日起门票调价 世界动态
- OpenAI CEO:在重压下会考虑退出欧洲市场
- 双飞燕推出VM20蓝牙鼠标:用嘴“打字”见过没
- 新西兰航空空乘努力用中文报菜名 拍摄者:他不懂中文但努力服务 环球快报
- 大阪宝可梦中心因发放特别宝可梦卡造成人潮混乱 现场一片狼藉
- 微信向部分Windows用户推送版本更新 现已增加锁定功能
- 苹果于国外上架可定位控温旅行杯 售价高达1413元引发网友吐槽
- 前《战地》创意总监成立新工作室 称正在研发在线射击游戏
- 苹果iOS 17将改进锁屏界面 会使iPhone变成家居智能屏幕
- 我国研究团队成功研制出高柔韧性单晶硅太阳电池 可以像纸片一样弯曲
- 药学基本题(药学基本知识)_天天快资讯
- 环球速看:双13.3寸OLED触屏!联想YOGA Book 9i国内发布:16999元
- 长城举报比亚迪排放不达标背后:专家称如果坐实 审核标准会被动摇|天天关注
- 全球仅此一份!布加迪在迪拜推出首批住宅:每家均独一无二 当前独家
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
SpringBoot结合easyexcel处理Excel文件-全球焦点
文/朱季谦
【资料图】
假如有这样一个需求,每天需要读取以下表头的Excel文件,统计文件里击中黑名单的比例,该文件is_blacklist列的1表示击中了黑名单,0表示未击中黑名单。
基于该需求,可以在定时任务通过easyexcel工具进行处理。
一、首先需要在SpringBoot引入easyexcel的maven依赖
com.alibaba easyexcel 3.1.1
二、定义一个接收Excel文件表头列数据的Java Bean——
@Data @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode public class BlackTitle { @ExcelProperty(value = {"key"}) private String key; @ExcelProperty(value = {"is_blacklist"}) private String is_blacklist; }
这注解@ExcelProperty是easyexcel包的注解,起到的作用是,例如可以将private String key通过 @ExcelProperty(value = {"key"})映射到表格的key值。简单理解,就是每一个BlackTitle对象,能接收到表格每一行到数据,表格的key列值映射到BlackTitle的熟悉key值,表格的is_blacklist列值映射到BlackTitle的熟悉is_blacklist值。
三、继承EasyExcel 框架中的 AnalysisEventListener
接口的类 BlackTitleListener
,用于监听并处理 Excel 文件中的数据行。
当EasyExcel解析每一行数据时,这个invoke
方法就会被调用,该BlackTitleListener类里的重写方法实现将当前读取的行数据添加到 data
列表中。该类最后提供了一个 getData()
方法,用于返回解析出来的数据列表,即集合data——
public static class BlackTitleListener extends AnalysisEventListener { private List data = new ArrayList<>(); @Override public void invoke(BlackTitle blackTitle, AnalysisContext analysisContext) { data.add(blackTitle); } @Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { } public List getData(){ return data; } }
四、实现读取Excel文件的sheet表格——
String source = "C:\\Users\\Admin\\Desktop\\blacklist.xlsx";BlackTitleListener listener = new BlackTitleListener();//读取 Excel 文件的第一个 sheet 中的数据,并将其转换成 BlackTitle 对象,最终存储在 listener 对象中。EasyExcel.read(source,listener).head(BlackTitle.class).sheet(0).headRowNumber(1).doReadSync();
这里创建一个名为 listener
的 BlackTitleListener
对象,在该对象里,可以监听读取每一行数据的操作。调用EasyExcel.read(...)
方法去读取Excel文件,通过 .head(BlackTitle.class)
设置表头信息,即将表头字段映射到BlackTitle类里属性。通过 .sheet(0)
指定要读取第一个sheet表格数据。.headRowNumber(1)
表示表头位于第一行(索引从 0 开始)。.doReadSync()
方法开始同步读取 Excel 数据,然后将数据存储到 listener
对象中。
五、获取读取存储到集合里的数据进行处理
获取读取到集合里的数据——
List data = listener.getData();
接下来,就可以通过简单的集合迭代来统计出表格is_blacklist列值为1的比例了——
long blackSize = data.stream().filter(k->k.getIs_blacklist().equals("1")).count();
最后,完整代码如下——
public class BlackTitleTest { public static void main(String[] args) { String source = "C:\\Users\\Admin\\Desktop\\blacklist.xlsx"; BlackTitleListener listener = new BlackTitleListener(); EasyExcel.*read*(source,listener).head(BlackTitle.class).sheet(0).headRowNumber(1).doReadSync(); List data = listener.getData(); long blackSize = data.stream().filter(k->k.getIs_blacklist().equals("1")).count(); } public static class BlackTitleListener extends AnalysisEventListener { private List data = new ArrayList<>(); @Override public void invoke(BlackTitle blackTitle, AnalysisContext analysisContext) { data.add(blackTitle); } @Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { } public List getData(){ return data; } } }
关键词:
SpringBoot结合easyexcel处理Excel文件-全球焦点
【打怪升级】【容器】关于Map
全球微动态丨海康威视SDK - 非非门禁和报警主机产品的用户密码设置
每日资讯:游戏逆向-D3D9绘制
59岁水均益罕现身和富婆合影,吃大餐喝名贵酒,模样大变发福油腻
债市日报:5月25日
比奥迪Q3更值得买!全新凯迪拉克GT4官图发布:颜值真能打 时讯
要涨价了!上海迪士尼6月23日起门票调价 世界动态
OpenAI CEO:在重压下会考虑退出欧洲市场
双飞燕推出VM20蓝牙鼠标:用嘴“打字”见过没
新西兰航空空乘努力用中文报菜名 拍摄者:他不懂中文但努力服务 环球快报
大阪宝可梦中心因发放特别宝可梦卡造成人潮混乱 现场一片狼藉
微信向部分Windows用户推送版本更新 现已增加锁定功能
苹果于国外上架可定位控温旅行杯 售价高达1413元引发网友吐槽
前《战地》创意总监成立新工作室 称正在研发在线射击游戏
热头条丨linux shell编程规范和变量
idea修改idea64.exe.vmoptions导致打不开问题
全球热文:突围低代码下半场,未来悬而未决
Python集合 (set) 的增删改查及 copy()方法_焦点简讯
苹果iOS 17将改进锁屏界面 会使iPhone变成家居智能屏幕
我国研究团队成功研制出高柔韧性单晶硅太阳电池 可以像纸片一样弯曲
药学基本题(药学基本知识)_天天快资讯
惠普打印机型号有哪些?惠普打印机墨盒怎么加墨水?
每日机构分析:5月25日
环球速看:双13.3寸OLED触屏!联想YOGA Book 9i国内发布:16999元
长城举报比亚迪排放不达标背后:专家称如果坐实 审核标准会被动摇|天天关注
全球仅此一份!布加迪在迪拜推出首批住宅:每家均独一无二 当前独家
30万魅友参与!魅族20新配色定名“独白”:行业唯一白面板机身|天天聚看点
中国电影华表奖颁奖典礼太接地气:一大波明星坐路边等待 环球微头条
2023年安徽合肥公积金缴存基数标准调整 3月1日起执行!
上海SIAL食品博览会成功举办!济州品牌初露头角!
它来了!真正的 python 多线程
KKRT-PSI
环球简讯:创新应用场景下的可视化大屏:重新定义信息展示
今日视点:如何证明Servlet是单例的?
构建高可用云原生应用,如何有效进行流量管理?
天天观天下!【新华500】新华500指数(989001)25日下跌0.22%
学堂有名堂|30分钟午睡时间,教室里睡不着睡不好怎么办?黄浦区这所小学展开了研究
比亚迪高管回怼长城举报:挡别人的路 不会让自己行得更远|天天消息
单价6.5亿 国产大飞机快能坐了 东航C919将于近期投入实际运营 当前要闻
全球播报:恩怨还没完!暴雪在中国起诉网易雷火公司
顶配16999元 联想YOGA Air 32 4K一体机发布:13代i9+RTX 4050 一线连所有
1.28kg超轻身材!联想发布YOGA Air 14s 2023轻盈本 天天微资讯
【PC迁移与管理】上海道宁为每个用户和每个 PC 传输和迁移场景提供解决方案——PCmover_每日热讯
天天热推荐:Pytest - setup 和 teardown
全球即时看!yolov5+deepsort+slowfast复现
全国护肤日(国际爱肤日):关注内外抗衰 远离皮肤疾病
最美小米手机!小米Civi 3亮相
减肥新方法!研究证实画饼真的能充饥|焦点滚动
新一代自拍之王!小米Civi 3前置双主摄:拍照Vlog全面兼顾 天天即时
称比亚迪污染物排放不达标 长城举报的是个啥:油箱成争议焦点
暖心!国羽苏杯夺冠黄东萍视频连线王懿律,黄鸭组合一同登台领奖
Maven的核心解压与配置 观热点
当前通讯!你怎么看?统计称上海人能挣钱更能花钱 全国北京人赚的钱最耐花
图灵奖得主:人类大脑是生物机器 一定会有超级AI超越它 今日热议
焦点消息!《雨血》精神续作!国产黑暗武侠大作《影之刃零》发布首支预告
天天关注:黄芪加枸杞大枣泡水喝的功效与作用 枸杞大枣泡水喝的功效与作用
SRE心里话:要求100%服务可用性就是老板的无知_环球信息
助数字人民币“飞入寻常百姓家”
国外玩家吐槽PS发布会拉跨:是不是最差的一届?-环球新资讯
消失70多年 一度被认为灭绝:广西发现珍稀植物巨型蜘蛛抱蛋
世界今日讯!AMD超算三连冠!唯一投入实用的百亿亿次
高性价高颜值轻薄本代表作!华硕无畏15 2023 4299元首发抢购中|世界快播
焦点速读:老人遛狗不牵绳还将猫踢飞 网友吵翻:这是在保护猫 你怎么看?
焦点资讯:5人5月用容器技术保卫蓝天
关于 Workstation Pro 的基础知识
文物 | 博物馆文物的数字化保护与管理
马上就要过期的食品打一折:能买吗?安全吗?
马斯克计划打造世界第三大AI公司 或整合特斯拉和推特
世界快报:强对流天气预警:今天起 多地将有8-10级雷暴大风或冰雹
奇丑无比的洞洞鞋凭啥风靡全球?但是 绝对别穿它上扶梯-天天热消息
蔚来ES6上市当天 李想立下flag:10月份理想L7月销破2万辆_前沿热点
天天动态:弃“元”投“AI”,传百度副总裁马杰加入创新工场,成立AIGC公司
实时:gPTP时钟同步(时间同步服务器)助力智能驾驶应用
当前消息!直播源码技术实现游戏组队功能
【环球财经】惠誉评级把美国长期外币发行人违约评级展望列为“负面”
美媒:无人机袭击克宫或为乌特别部门策划-全球热讯
springboot~统一处理日期请求参数java.utils.Date和java.time.LocalDate_天天播报
【一步步开发AI运动小程序】七、进行运动计时、计数
36.8万起!蔚来全新ES6开卖:激光雷达、零百4.5秒 会成爆款吗
入门即高配!比亚迪宋Pro DM-i冠军版今日上市:纯电续航再提升
超110万辆特斯拉到底何时召回?时间点来了 强制单踏板再见
百公里油耗仅仅7.4升!依维柯聚星正式上市:13.68万元起
全新宝马5系发布:内饰、科技大升级 看眼后视镜就能自动变道
世界今亮点!在旧时光里注入新生机——湖南郴州“唤醒老屋”行动观察
全球快报:第六章.数据结构与算法基础(重点)
今日快讯:海康威视SDK - 门禁admin用户密码设置
当前速递!走进Linux世界,学习Linux系统的必备指南
最美不过二次元【AI】
黑人女玩家谈《Forspoken》差评如潮:种族主义者的偏见|世界观热点
结婚6年没孩子 查出丈夫非男性:医生科普是性反转综合征 网友刷新认知
焦点短讯!Windows 11打破隔阂 苹果安卓手机都能连 五大功能你用过没?
最高省1800元!iPhone 14 Pro系列京东618便宜了:抢券6499元起
当前关注:首款高通骁龙W5+智能手表!TicWatch Pro 5发布 续航45天
学系统集成项目管理工程师(中项)系列26_新兴信息技术-环球短讯
tn系统的三种适用范围_tn系统 天天新要闻
【环球时快讯】国际金融市场早知道:5月25日
四大证券报精华摘要:5月25日-环球今亮点
索尼宣布串流掌机
磁带存储不死!2022年逆市增长 2028年机械硬盘将消失?