我是靠谱客的博主 默默香氛,最近开发中收集的这篇文章主要介绍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;
}

最后

以上就是默默香氛为你收集整理的Java导入多sheet的全部内容,希望文章能够帮你解决Java导入多sheet所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部