Java导入多sheet

/**
 * 导入模式
 */
@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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值