概述
/**
* 导入模式
*/
@PostMapping("/importData")
@ApiOperationSupport(order = 8)
@ApiOperation(value = "导入模式")
public R importData(MultipartFile file){
try {
ExcelReader reader = EasyExcel.read(file.getInputStream()).build();
List<ReadSheet> sheets = reader.excelExecutor().sheetList();
for (int i = 1; i < sheets.size(); i++) {
ReadSheet readSheet = sheets.get(i);
System.out.println("表名:" + readSheet.getSheetName());
List<SomsManageImportExcl> list = EasyExcel.read(file.getInputStream())
.head(SomsManageImportExcl.class)
.sheet(i)
.doReadSync();
List<Mode> newList=new ArrayList<>();
//打印读取的每条数据
for (SomsManageImportExcl somsManageImportExcl : list) {
System.out.println(somsManageImportExcl);
//根据模式值查询模式编码
ModelPoint modelPoint=modelPointService.getOne(Wrappers.<ModelPoint>lambdaQuery()
.eq(ModelPoint::getModelValue,somsManageImportExcl.getModeValue())
.last("limit 0,1")
);
Mode mode= BeanUtil.copyProperties(somsManageImportExcl,Mode.class);
if(modelPoint!=null){
//数据处理
mode.setCode(modelPoint.getModelCode());
mode.setSystemName(readSheet.getSheetName());
mode.setSystemId("Sys_"+ IdUtil.simpleUUID());
mode.setAreaCode("Area_"+IdUtil.simpleUUID());
if(readSheet.getSheetName().equals("PA")){
mode.setSystemType(2);
}else if(readSheet.getSheetName().equals("PIS")){
mode.setSystemType(3);
}else if(readSheet.getSheetName().equals("CCTV")) {
mode.setSystemType(4);
}else if(readSheet.getSheetName().equals("电扶梯")) {
mode.setSystemType(5);
}else if(readSheet.getSheetName().equals("卷帘门")) {
mode.setSystemType(6);
}else if(readSheet.getSheetName().equals("照明")) {
mode.setSystemType(7);
}else if(readSheet.getSheetName().equals("AFC")) {
mode.setSystemType(8);
}else{
mode.setSystemType(1);
}
newList.add(mode);
}
}
modeService.saveBatch(newList);
}
} catch (IOException e) {
return R.fail(e.getMessage());
}
return R.status(true);
}
实体类:/**
* 模式导入实体类
*
*/
@Data
@ColumnWidth(25)
@HeadRowHeight(20)
@ContentRowHeight(18)
public class SomsManageImportExcl {
/**
* 工况
*/
@ColumnWidth(15)
@ExcelProperty("工况")
@ApiModelProperty(value = "工况")
private String operationalStates;
/**
* 区域
*/
@ColumnWidth(15)
@ExcelProperty("区域")
@ApiModelProperty(value = "区域")
private String areaName;
/**
* 工况名称
*/
@ColumnWidth(15)
@ExcelProperty("工况名称")
@ApiModelProperty(value = "工况名称")
private String name;
/**
* PLC模式号
*/
@ColumnWidth(15)
@ExcelProperty("PLC模式号")
@ApiModelProperty(value = "PLC模式号")
private String modeValue;
}
最后
以上就是默默香氛为你收集整理的Java导入多sheet的全部内容,希望文章能够帮你解决Java导入多sheet所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复