packagecom.yami.shop.admin.controller;importcom.fasterxml.jackson.core.type.TypeReference;importcom.fasterxml.jackson.databind.ObjectMapper;importcom.yami.shop.admin.config.ImportExcel;importcom.yami.shop.bean.model.TzJobSet;importcom.yami.shop.common.bean.Result;importcom.yami.shop.service.ITzJobSetService;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.transaction.annotation.Transactional;importorg.springframework.web.bind.annotation.PostMapping;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestParam;importorg.springframework.web.bind.annotation.RestController;importorg.springframework.web.multipart.MultipartFile;importjava.io.InputStream;importjava.util.List;importjava.util.Map;
@RestController
@RequestMapping("/admin/staff")public classTestExcel {
@AutowiredprivateITzJobSetService tzJobSetService;
@PostMapping("/import")
@TransactionalpublicBoolean importExcel(@RequestParam MultipartFile mFile){
Result result=newResult();try{
String fileName=mFile.getOriginalFilename();//获取上传文件的输入流
InputStream inputStream =mFile.getInputStream();//调用工具类中方法,读取excel文件中数据
List> sourceList =ImportExcel.readExcel(fileName, inputStream);//将对象先转为json格式字符串,然后再转为List 对象 TzJobSet:表对应的实体类
ObjectMapper objMapper = newObjectMapper();
String infos=objMapper.writeValueAsString(sourceList);//json字符串转对象
List list = objMapper.readValue(infos, new TypeReference>() {});//批量添加 项目用的mybatis-pius 框架 saveBatch批量添加的方法是mybatis-pius自带的
boolean b =tzJobSetService.saveBatch(list);returnb;
}catch(Exception e) {//TODO Auto-generated catch block
e.printStackTrace();
}return false;
}
}