当前位置: 首页 > news >正文

龙岗企业网站建设wordpress订单提醒功能

龙岗企业网站建设,wordpress订单提醒功能,网页设计实训报告结论,牡丹江商城网站开发设计前边写过使用easyexcel进行简单、多sheet页的导出。今天周日利用空闲写一下对应简单的导入。 重点:springboot、easyExcel、桥接模式; 说明:本次使用实体类student:属性看前边章节内容; 1、公共导入service public …

前边写过使用easyexcel进行简单、多sheet页的导出。今天周日利用空闲写一下对应简单的导入。

重点:springboot、easyExcel、桥接模式;

说明:本次使用实体类student:属性看前边章节内容;

1、公共导入service

public interface ExcelImportCommonService {/*** 获取类型: 如果是导入多种 sheet页/文件,可以根据这个 与 sheet页名/文件名比对,决定用哪个 serviceImpl* @return*/String getType();/*** 保存数据*/void save();/*** 获取 对应 实体类* @return*/Class<?> getEntityClazz();/*** 数据解析:一条一条解析的* @param o*/void invoke(Object o);
}

学生信息  实现类:


@Service
public class ExcelImportStudentServiceImpl implements ExcelImportCommonService {/*** TODO: 实际项目 引入 dao 保存 数据**/private List<Student> dataList = new ArrayList<>();@Overridepublic String getType() {return "学生信息表";}@Overridepublic void save() {// TODO  使用 dao 保存数据: dataListSystem.out.println("保存的数据是:" + Arrays.toString(dataList.toArray()));System.out.println(getType()+",保存数据成功!");}@Overridepublic void invoke(Object o) {//1、数据转换Student student = (Student) o;//2、去重:根据 特定字段 进行去重(可以是本次导入的数据,也可以是以前库里有的 做对比)//  举例:  如果 一次导入中  学生名 有重复的,就不再插入List<Student> repeat = dataList.stream().filter(student1 -> student1.getSName().equals(student.getSName())).collect(Collectors.toList());if(repeat.isEmpty()) {dataList.add(student);}}@Overridepublic Class<?> getEntityClazz() {return Student.class;}
}

2、extends监听器

监听器内引入:公共导入service (桥接模式的使用)


public class ExcelImportCommonListening extends AnalysisEventListener {// 使用了桥接模式: 抽象类  与  实现类 解耦: 在该类里引用 导入公共service接口private ExcelImportCommonService commonService;// 监听器中不能 使用 @Autowired 导入,这里使用 构造器public ExcelImportCommonListening(ExcelImportCommonService commonService) {this.commonService = commonService;}@Overridepublic void invoke(Object o, AnalysisContext analysisContext) {// 1、可以先做一些通用解析// 2、数据做一条一条具体的解析commonService.invoke(o);}@Overridepublic void doAfterAllAnalysed(AnalysisContext analysisContext) {// 所有数据解析完成之后的操作commonService.save();}
}

3、学生信息导入 controller

@RestController
public class ExcelImport {@Resourceprivate ExcelImportStudentServiceImpl studentService;/*** 导入学生信息 excel*/@PostMapping(value = "importStudentExcel")public String importStudentExcel(MultipartFile file) {try {EasyExcel.read(file.getInputStream(), studentService.getEntityClazz(), new ExcelImportCommonListening(studentService)).sheet().doRead();} catch (IOException e) {System.out.println("导入学生信息excel异常:"+e);return "no";}return "yes";}
}

4、postman测试

示例excel就是上篇文章执行代码导出的,这里直接导入该文件(单sheet页)。

后续补充下一次导入多个sheet,或者多个文件的。

http://www.yayakq.cn/news/526800/

相关文章:

  • 南京外贸网站建设系统深圳投资推广署
  • 学院网站建设项目的成本计划书刘涛做的婴儿玩具网站
  • 会议平台网站建设响应式网站 翻译代码
  • 接入商 济南网站建设做网站包括服务器么
  • chrome打开建设银行网站 个人网上银行怎么不能查询明细网站开发建设合同
  • 雷州网站开发公司西宁网络推广服务网
  • 安化网站建设python能否做网站
  • 营销型网站建设设计6办公室装修设计效果图大全
  • 协会网站建设目的北京公司网站
  • 云南网站建设维修公司哪个网站做外贸零售比较好呢
  • 直接通过ip访问网站主要网站 开发语言
  • 海尔网站建设策划书贵州省城乡建设厅网站材料价
  • 张家界优秀网站建设建设银行信用卡网站是多少钱
  • 营销网站做得好的公司自己做网站传视屏
  • 安徽工程信息网官网首页优质的seo网站排名优化软件
  • 外贸型网站推广与监测pc端软件界面设计
  • 如何运用链接推广网站网站 数据报表如何做
  • 东莞志豪建设公司网站阿里巴巴网站装修
  • 怎么把网站放到服务器上大连网络推广机构
  • 淘宝网站建设基本流程苏州网站建设公司电话
  • 网站建设大概需要多少费用wordpress ios使用
  • 触屏版网站模板asp网站开发视频
  • 做网站首页ps学广告设计要多久能学会
  • 服装html网站模板下载北京网站手机站建设公司吗
  • 全新的手机网站设计厚街响应式网站设计
  • 什么网站可以免费做视频的软件wordpress eaccelerator
  • 网站建设颜色代码室内设计学校大专
  • dede网站建设流程微信公众平台官网网址
  • 苏州市吴中区住房和城乡建设局官方网站网站空间购买官方
  • 彩票网站开发公司建筑人才网一砖一瓦