ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Excel导入操作,poi

2022-09-05 09:04:24  阅读:180  来源: 互联网

标签:liststr Excel param entity 导入 lsjList jwtUserObject poi new


导入操作,仅供参考,具体情况具体而论

  @Override
  public ReturnObject inforImport(LogySbjsJdsbqxxxParts entity, HttpServletRequest req, MultipartFile file)
  		throws IOException {
  	ReturnObject returnObject = new ReturnObject();
  	List<LogySbjsJdsbqxxxAccount> lsjList = new ArrayList<LogySbjsJdsbqxxxAccount>();
  	JwtUserObject jwtUserObject = JwtUtil.getJwtUserObj(req.getHeader("Authorization"));
  	// 创建一个excel文件
  	HSSFWorkbook workbook = null;
  	workbook = new HSSFWorkbook(file.getInputStream()); // 获取文件
  	HSSFSheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
  	int lastRowNum = sheet.getLastRowNum();
  	// 获取数据
  	for (int i = 2; i <= lastRowNum; i++) {
  		HSSFRow row = sheet.getRow(i);
  		if (row != null) {
  			List<String> liststr = new ArrayList<>();
  			String value = null;
  			for (Cell cell : row) {
  				if (cell != null && cell.getCellType() != CellType.BLANK) {
  					cell.setCellType(CellType.STRING);
  					value = cell.getStringCellValue(); // 读取数据
  					liststr.add(value);
  				} else {
  					value = "";
  					liststr.add(value);
  				}
  			}
  			if (liststr.size() > 0) {
  				lsjList = extracted(entity, lsjList, jwtUserObject, i, liststr);
  			}
  		}
  	}
  	logySbjsJdsbqxxxAccountDao.saveAll(lsjList);
  	returnObject.setRemsg("上传成功");
  	return returnObject;
  }
	/**
	 * 构造数据 @Title: extracted @Description: TODO(这里用一句话描述这个方法的作用) @param: @param
	 * entity @param: @param lsjList 定义一个List @param: @param
	 * jwtUserObject @param: @param i 行号 @param: @param liststr 解析出来的一行数据 @return:
	 * void @throws
	 */
	private List<LogySbjsJdsbqxxxAccount> extracted(LogySbjsJdsbqxxxParts entity, List<LogySbjsJdsbqxxxAccount> lsjList,
			JwtUserObject jwtUserObject, int i, List<String> liststr) {

		entity.setITEMCODE(jwtUserObject.getITEMCODE());
		entity.setQxxxModeId(entity.getQxxxModeId());
		Example<LogySbjsJdsbqxxxParts> example = Example.of(entity);
		// 查询所有并组装
		List<LogySbjsJdsbqxxxParts> list = logySbjsJdsbqxxxPartsDao.findAll(example);
		// 排序输出
		List<LogySbjsJdsbqxxxParts> collectList = list.stream()
		.sorted(Comparator.comparing(LogySbjsJdsbqxxxParts::getPartsCode)
		.thenComparing(LogySbjsJdsbqxxxParts::getSort)).collect(Collectors.toList());
		for (int j = 0; j < liststr.size(); j++) {
			String id = UUID.randomUUID().toString().replaceAll("-", ""); // id
			String str = liststr.get(j);
			if(collectList.get(j).getPartsName().contains("日期")) {  //处理日期为数字
				Calendar calendar = new GregorianCalendar(1900, 0, -1);
				Date d = calendar.getTime();
				Date datastr = DateUtils.addDays(d, Integer.valueOf(str));
				SimpleDateFormat dataformatter  = new SimpleDateFormat( "yyyy-MM-dd");
				str = dataformatter.format(datastr);
			}
			LogySbjsJdsbqxxxAccount lsj = new LogySbjsJdsbqxxxAccount(id, entity.getITEMCODE(),
					jwtUserObject.getItemName(), entity.getQxxxModeId(), collectList.get(j).getQxxxPartsId(),
					collectList.get(j).getPartsCode(), collectList.get(j).getPartsName(), str, new Date(),
					jwtUserObject.getUSERID(), jwtUserObject.getUSERNAME(), 0, i - 1);
			// 添加到集合中
			lsjList.add(lsj);
		}
		return lsjList;

	}

标签:liststr,Excel,param,entity,导入,lsjList,jwtUserObject,poi,new
来源: https://www.cnblogs.com/hhs-5120/p/16656840.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有