listener代码

public class UserMapListener extends AnalysisEventListener<Map<Integer,String>> {//由于Listener类不能被spring管理,会出现线程安全的问题所以通过有参构造来实现方法的注入public UserMapListener(UserService userService) {this.userService = userService;}private UserService userService;private List<User> userList=new ArrayList<>();/*** @param integerStringMap excel每一行的数据*/@SneakyThrows@Overridepublic void invoke(Map<Integer, String> integerStringMap, AnalysisContext analysisContext) {SimpleDateFormat sdf=new SimpleDateFormat();User user=new User();Date date=sdf.parse(integerStringMap.get(3));//一般excel不会存在id列所有不用给id赋值user.setName(integerStringMap.get(0));user.setGender(Integer.parseInt(integerStringMap.get(1)));user.setNumber(integerStringMap.get(2));user.setBirthDate(date);user.setAddress(integerStringMap.get(4));user.setPhone(integerStringMap.get(5));userList.add(user);if (userList.size()%5==0){userService.insertList(userList);userList.clear();}}@Overridepublic void doAfterAllAnalysed(AnalysisContext analysisContext) {userService.insertList(userList);System.out.println("执行完毕");}

User对象

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("user")
public class User {@TableId(value = "id",type = IdType.ASSIGN_ID)@ExcelIgnoreprivate String  id;private String  name;private Integer gender;private String  number;private Date birthDate;private String address;private String phone;
}

service代码

  @Overridepublic void UserMap(MultipartFile multipartFile) throws IOException {//获取文件流ExcelReader build = EasyExcel.read(multipartFile.getInputStream()).build();ReadSheet build1 = EasyExcel//第一个工作区间的表.readSheet(0)//跳过第一条标题.headRowNumber(1).registerReadListener(new UserMapListener(UserServiceImpl.this)).build();//合并两个build.read(build1);}

easyExcel以Map的形式读取参数相关推荐

  1. 使用section.key的形式读取ini配置项

    配置文件读取是很多Go项目必备的功能,这方面社区提供的方案也相对成熟稳定.但之前写这部分代码时除了使用了针对不同配置文件格式(比如:ini.toml等)的驱动包之外,很少直接使用第三方包对读取出的配置 ...

  2. Python解析命令行读取参数 -- argparse模块

    在多个文件或者不同语言协同的项目中,python脚本经常需要从命令行直接读取参数.万能的python就自带了argprase包使得这一工作变得简单而规范.PS:optparse包是类似的功能,只不过写 ...

  3. python 命令行解析模块_Python解析命令行读取参数 -- argparse模块

    在多个文件或者不同语言协同的项目中,python脚本经常需要从命令行直接读取参数.万能的python就自带了argprase包使得这一工作变得简单而规范.PS:optparse包是类似的功能,只不过写 ...

  4. 2020-08-10 Mybatis配置、使用Map集合传递SQL参数、核心配置文件解析、给包取别名

    mybatis配置错误解析 注意!在Mapper.xml的配置文件中,namespace的路径要写成这种形式 <mapper namespace="com.wang.Dao.UserM ...

  5. MyBatis学习:使用Map的方法传递参数

    1.本篇博客的背景和目的 目前我本人正在学习MyBatis框架,在原先了解并且懵懵懂懂使用的基础上,开始系统正式的学习.阐述了MVC架构模式和三层架构,明晰了在Web项目中的普遍编码层次,回顾了JDB ...

  6. Linux shell 学习笔记(10)— 处理用户输入(命令行读取参数、读取用户输入、超时处理)

    1. 命令行参数 向 shell 脚本传递数据的最基本方法是使用命令行参数.命令行参数允许在运行脚本时向命令行添加数据. $ ./addem 10 30 本例向脚本 addem 传递了两个命令行参数( ...

  7. python文本文件不能用二进制文件方式读入_如何使用python函数以二进制形式读取文件?...

    虽然读取文件的方式各种各样,但是通过二进制,还是头一次,实现过过程并不难,我们需要将文件先做好封存,以函数的形式,保存下来,然后直接导入进行使用,这样就可以读取文件,因为直接二进制读取是不现实的,只能 ...

  8. linux写参数文件,linux下纯C++读取参数配置文件

    微软把程序猿养懒了.如果你在windows里写程序,那么本文你可以不看,有GetPrivateProfileString等来读取:如果你在qt里写程序,那么本文也可以不看.如果你在linux或者mac ...

  9. 不是二进制MAT文件,请尝试执行 load -ASCII 以便以文本形式读取

    错误: 错误使用load,不是二进制MAT文件,请尝试执行load-ASCII以便以文本形式读取 解决方法 将load替换为dlmread去读取文件 原方法:data = load 路径\文件名.ma ...

最新文章

  1. Hibernate缓存
  2. Nosql数据库的四大分类
  3. 0110-如何给Kerberos环境下的CDH集群添加Gateway节点
  4. 会php学java入门要多久_php8(java入门要多久)
  5. 微信小程序音乐播放控制API在真机上貌似不可用?
  6. C# 图片处理之:旋转图片任意角度
  7. 易语言怎么判断文件是否一样_怎么判断自己是否怀孕?
  8. 网络软工个人作业4——Alpha阶段个人总结
  9. 整合MVC实现文件上传
  10. c++之指针常量和常量指针
  11. android壁纸路径/目录
  12. Error [ERR_INSPECTOR_ALREADY_ACTIVATED]解决方案
  13. 毕设+电路板(BTN7960驱动电路+LM2596/AMS117稳压电路+蜂鸣器+STM32F103C8T6最小系统电路)
  14. Excel基础(13)日期函数
  15. 「大数据干货」基于Hadoop的大数据平台实施——整体架构设计
  16. vgp虚拟路面_某车型开发阶段实际道路谱和虚拟路面谱对比分析.pdf
  17. UnityShader基础案例(二)——UI流光,扭曲,外边框,波纹效果
  18. 写给过得很辛苦很迷茫的你~一定要看啊
  19. 【优化算法】粒子群优化灰狼算法【含Matlab源码 006期】
  20. 四年级下册计算机作业,科学(四年级下册)作业.doc

热门文章

  1. 满足功能安全要求的代码测试方案:Parasoft C++test
  2. 挖掘长尾关键词的五大思路
  3. Android activity进出动画,类似于左右拉窗帘效果
  4. mysql score表_Mysql数据库练习题student,score表
  5. 告别win10图片查看器内存占用过高,使用windows原来的照片查看器
  6. docker容器下载及配置
  7. 微信文件夹的dat文件怎么打开_微信dat文件如何打开?
  8. list index out of range
  9. 学习期间的感悟和个人写的一段歌词
  10. 避免c++程序在windows7或vista下关闭后出现程序兼容性助手