EASYEXCEL(一)
1.读取excel
读监听器
@Slf4j
public class StudentReadListener extends AnalysisEventListener<Student> {// 每读一样,会调用该invoke方法一次@Overridepublic void invoke(Student data, AnalysisContext context) {System.out.println("data = " + data);log.info(data + "保存成功");}// 全部读完之后,会调用该方法@Overridepublic void doAfterAllAnalysed(AnalysisContext context) {// TODO......}
}
映射实体类
@Data
@AllArgsConstructor
@NoArgsConstructor
@ColumnWidth(20)
@ToString
public class Student {/*** id*/@ExcelProperty(value = "编号",index = 0)//@ExcelIgnoreprivate String id;/*** 学生姓名*/@ExcelProperty(value = "学生姓名", index = 1)//@ColumnWidth(30)private String name;/*** 学生性别*/@ExcelProperty(value = "学生性别", index = 2)private String gender;/*** 学生出生日期*/@ExcelProperty(value = "学生出生日期", index = 3)//@ColumnWidth(20)private Date birthday;
读取
public class StudentReadDemo {public static void main(String[] args) throws FileNotFoundException {// 读取文件,读取完之后会自动关闭/*pathName 文件路径;"C:\\Users\\wjg\\Desktop\\学员信息.xlsx"head 每行数据对应的实体;Student.classreadListener 读监听器,每读一样就会调用一次该监听器的invoke方法sheet方法参数: 工作表的顺序号(从0开始)或者工作表的名字,不传默认为0*/// 封装工作簿对象ExcelReaderBuilder workBook = EasyExcel.read("C:\\Users\\wjg\\Desktop\\学员信息.xlsx", Student.class, new StudentReadListener());// 封装工作表ExcelReaderSheetBuilder sheet1 = workBook.sheet();// 读取sheet1.doRead();}
2.写入excel
public class StudentWriteDemo {public static void main(String[] args) {List<Student> students = initData();/*String pathName 写入文件的路径Class head 写入文件的对象类型默认写入到07的xlsx中,如果想要写入xls,可以指定类型(待验证)*/ExcelWriterBuilder workBook = EasyExcel.write("C:\\Users\\wjg\\Desktop\\学员信息.xlsx", Student.class);// sheet方法参数: 工作表的顺序号(从0开始)或者工作表的名字workBook.sheet().doWrite(students);}private static List<Student> initData() {ArrayList<Student> students = new ArrayList<Student>();Student data = new Student();for (int i = 0; i < 10; i++) {data.setName("学号0" + i);data.setBirthday(new Date());data.setGender("男");data.setId(String.valueOf(i));students.add(data);}return students;}
}
相关文章:
EASYEXCEL(一)
1.读取excel 读监听器 Slf4j public class StudentReadListener extends AnalysisEventListener<Student> {// 每读一样,会调用该invoke方法一次Overridepublic void invoke(Student data, AnalysisContext context) {System.out.println("data "…...
竞赛YOLOv7 目标检测网络解读
文章目录 0 前言1 yolov7的整体结构2 关键点 - backbone关键点 - head3 训练4 使用效果5 最后 0 前言 世界变化太快,YOLOv6还没用熟YOLOv7就来了,如果有同学的毕设项目想用上最新的技术,不妨看看学长的这篇文章,学长带大家简单的…...
第一类曲线积分@对弧长的曲线积分
文章目录 abstract对弧长的曲线积分曲线形构件的质量第一类曲线积分曲线积分存在性利用曲线积分的定义描述曲线形构件质量问题推广曲线积分可加性闭曲线积分 曲线积分性质曲线积分的计算方法证明(部分推导) 小结曲线弧显函数形式方程下的曲线积分公式推广例例例 abstract 在积…...
【TypeScript】常见数据结构与算法(二):链表
文章目录 链表结构(LinkedList)链表以及数组的缺点数组链表的优势 什么是链表?封装链表相关方法源码链表常见面试题237-删除链表中的节点206 - 反转链表 数组和链表的复杂度对比 链表结构(LinkedList) 链表以及数组的缺点 链表…...
原型模式 (Prototype Pattern)
定义: 原型模式(Prototype Pattern)是一种创建型设计模式,它用于创建重复的对象,同时保持性能。这种模式的核心思想是通过复制一个已存在的实例来创建新的实例,而不是新建实例并对其进行初始化。原型模式适…...
项目总结报告(案例模板)
软件项目总结报告模板套用: 项目概要项目工作分析经验与教训改进建议可纳入的项目过程资产 --------进主页获取更多资料-------...
C++ Qt QByteArray用法介绍
作者:令狐掌门 技术交流QQ群:675120140 csdn博客:https://mingshiqiang.blog.csdn.net/ 文章目录 一、QByteArray的基本用法1、初始化和赋值2、访问和修改元素3、 常用方法4、数据转换二、QByteArray与文件操作三、QByteArray与网络编程四、QByteArray数据编码1、Base64 编解…...
蓝桥杯物联网竞赛_STM32L071_3_Oled显示
地位: 对于任何一门编程语言的学习,print函数毫无疑问是一种最好的调试手段,调试者不仅能通过它获取程序变量的运行状态而且通过对其合理使用获取程序的运行流程,更能通过关键变量的输出帮你验证推理的正确与否,朴素的…...
python-opencv轮廓检测(外轮廓检测和全部轮廓检测,计算轮廓面积和周长)
python-opencv轮廓检测(外轮廓检测和全部轮廓检测,计算轮廓面积和周长) 通过cv2.findContours,我们可以进行轮廓检测,当然也有很多检测模式,我们可以通过选择检测模式,进行外轮廓检测ÿ…...
LeetCode [简单] 1. 两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回…...
C++设计模式之工厂模式(下)——抽象工厂模式
抽象工厂模式 介绍示例示例使用运行结果抽象工厂模式的优缺点优点缺点 总结 介绍 抽象工厂模式是一种创建型设计模式,它提供了一种封装一组相关或相互依赖对象的方式,而无需指定它们具体的类。它允许客户端使用抽象接口来创建一系列相关的对象ÿ…...
2023亚太杯数学建模A题思路分析 - 采果机器人的图像识别技术
1 赛题 问题A 采果机器人的图像识别技术 中国是世界上最大的苹果生产国,年产量约为3500万吨。与此同时,中国也是世 界上最大的苹果出口国,全球每两个苹果中就有一个,全球超过六分之一的苹果出口 自中国。中国提出了一带一路倡议…...
关于Flink的旁路缓存与异步操作
1. 旁路缓存 1. 什么是旁路缓存? 将数据库中的数据,比较经常访问的数据,保存起来,以减少和硬盘数据库的交互 比如: 我们使用mysql时 经常查询一个表 , 而这个表又一般不会变化,就可以放在内存中,查找时直接对内存进行查找,而不需要再和mysql交互 2. 旁路缓存例子使用 dim层…...
MyBatis-Plus的分页插件和乐观锁插件
MyBatis-Plus: 探索分页查询和乐观锁插件 在现代的Web应用开发中,高效的数据处理是不可或缺的一部分。MyBatis-Plus,作为MyBatis的增强版,提供了多种插件来简化和优化数据库操作。在这篇博客中,我们将重点介绍两个非常实用的插件…...
批量将本地N个英文Html文档进行中文翻译-操作篇
Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分…...
解决cad找不到vcruntime140.dll的方法,实测有效的5个的方法
最近,我在使用CAD软件时遇到了一个困扰我已久的问题:由于找不到vcruntime140.dll文件而导致CAD无法正常运行。经过一番努力和尝试,我终于找到了解决这个问题的方法。那么,如何解决vcruntime140.dll丢失的问题呢?本文将…...
2023亚太杯数学建模C题:我国新能源电动汽车的发展趋势,思路模型代码
问题C 我国新能源电动汽车的发展趋势 赛题思路:获取思路见文末名片,第一时间更新 新能源汽车是指以先进技术原理、新技术、新结构的非常规汽车燃料为动力来源( 非常规汽车燃料指汽油、柴油以外的燃料),将先进技术进行汽车动力控制…...
英语学习-爆破音
英文爆破音有:[p],[b],[t],[d],[k],[g]。 同时爆破音的发音会根据前后音的不同,发音不同,具体如下: ⒈ [p],[b],[t],[d],[k],[g] 中的任何两个音素相邻时,前面的发不完全爆破音,后面的就要完全地爆破。如…...
【Vue】图片切换
上一篇: vue的指令 https://blog.csdn.net/m0_67930426/article/details/134599378?spm1001.2014.3001.5502 本篇所需要的指令有: v-on v-bind v-show <!DOCTYPE html> <html lang"en"> <head><meta charset"…...
C++模拟如何实现vector的方法
任意位置插入,insert的返回值为新插入的第一个元素位置的迭代器;因为插入可能会进行扩容,导致start的值改变,所以先定义一个变量保存pos与start的相对位置;判断是否需要扩容;从插入位置开始,将所…...
AI开发烂尾病有救了!Anthropic推出Harness多Agent框架
Anthropic 把 GAN 的思路搬过来,搞了三个 AI Agent,组成了一个打工天团,分工明确,互相配合:Planner 导演规划,Generator 演员干活,Evaluator 影评人挑毛病。 你有没有过这种经历? 兴…...
猫抓浏览器扩展架构解析:从资源嗅探到流媒体处理的技术实现
猫抓浏览器扩展架构解析:从资源嗅探到流媒体处理的技术实现 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 猫抓浏览器资源嗅探扩展通过…...
从Google搜索到ChatGPT:知识图谱是如何让AI‘更懂你’的?聊聊它的现在与未来
知识图谱:AI认知革命的隐形引擎 十年前,我们在Google搜索"苹果",结果页面上堆满了水果种植指南和苹果公司的新闻稿;今天,同样的搜索会智能区分水果与科技公司,甚至直接展示iPhone新品参数对比。…...
别再死记硬背了!用FreeSWITCH实战理解PSTN与VoIP核心概念(信令/媒体/交换)
从FreeSWITCH实战出发:用配置与日志理解PSTN与VoIP核心架构 在通信技术领域,PSTN与VoIP的理论概念常常让初学者感到抽象难懂。那些关于信令、媒体流、交换方式的教科书定义,往往需要反复背诵却依然难以形成直观认知。而FreeSWITCH作为一款开源…...
从图像分类到目标检测:手把手教你用PyTorch复现ViT和DETR的核心模块(附代码)
从图像分类到目标检测:手把手教你用PyTorch复现ViT和DETR的核心模块 当Transformer架构在自然语言处理领域大放异彩后,计算机视觉研究者们开始思考:这种基于自注意力的强大模型能否同样革新图像理解任务?Vision Transformer&#…...
MAVROS深度解析:从ROS话题到飞控指令的桥梁
1. MAVROS的核心作用与工作流程 MAVROS是连接ROS生态与PX4飞控的关键中间件,它的核心功能可以概括为"协议翻译器"和"数据路由器"。想象一下,你有一个只会说英语的飞控(PX4)和一个只会说中文的ROS系统…...
NCMconverter终极指南:3步解锁网易云音乐加密格式,释放你的音乐自由
NCMconverter终极指南:3步解锁网易云音乐加密格式,释放你的音乐自由 【免费下载链接】NCMconverter NCMconverter将ncm文件转换为mp3或者flac文件 项目地址: https://gitcode.com/gh_mirrors/nc/NCMconverter 你是否曾在网易云音乐下载了心爱的歌…...
华硕笔记本终极控制方案:G-Helper 3分钟快速上手指南
华硕笔记本终极控制方案:G-Helper 3分钟快速上手指南 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Sca…...
VisualCppRedist AIO终极指南:3步解决Windows程序启动失败的完整教程
VisualCppRedist AIO终极指南:3步解决Windows程序启动失败的完整教程 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否遇到过新下载的游戏无法启…...
1.2 配置开发环境(VS Code / PyCharm)
配置 VS Code 开发环境 安装 VS Code 从 VS Code 官网 下载对应操作系统的安装包,完成安装后启动。 安装 Python 扩展 在扩展市场中搜索 Python,安装官方提供的扩展以支持语法高亮、调试等功能。 配置 Python 解释器 按下 CtrlShiftP 打开命令面板&am…...
