java jxl map_Java通过jxl解析Excel文件入库,及日期格式处理方式 (附源代码)

该代码段展示了如何处理批量导入用户信息的逻辑。首先,它从上传的Excel文件中读取数据,并检查数据格式是否正确。接着,校验导入的用户账号是否已存在于系统中,将存在的账号和不存在的账号分别存储。最后,对于不存在于系统中的账号进行批量插入操作。整个过程涉及文件上传、Excel解析、数据验证和数据库操作。
摘要由CSDN通过智能技术生成

packagecom.zealer.cps.customer.controller;importjava.io.File;importjava.text.SimpleDateFormat;importjava.util.ArrayList;importjava.util.Date;importjava.util.HashMap;importjava.util.List;importjava.util.Locale;importjava.util.Map;importjavax.annotation.Resource;importjavax.servlet.http.HttpServletRequest;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.context.MessageSource;importorg.springframework.http.HttpHeaders;importorg.springframework.http.HttpStatus;importorg.springframework.http.ResponseEntity;importorg.springframework.stereotype.Controller;importorg.springframework.ui.Model;importorg.springframework.web.bind.annotation.ModelAttribute;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestMethod;importorg.springframework.web.bind.annotation.RequestParam;importorg.springframework.web.bind.annotation.ResponseBody;importorg.springframework.web.multipart.MultipartFile;importorg.springframework.web.servlet.mvc.support.RedirectAttributes;importcom.zealer.cps.base.annotation.Log;importcom.zealer.cps.base.annotation.MarkRequest;importcom.zealer.cps.base.constant.AppConstant;importcom.zealer.cps.base.constant.ParamConstants;importcom.zealer.cps.base.controller.BaseController;importcom.zealer.cps.base.message.ErrorActionResult;importcom.zealer.cps.base.message.SuccessActionResult;importcom.zealer.cps.base.model.entity.customer.UserTagValue;importcom.zealer.cps.base.model.entity.customer.UserValue;importcom.zealer.cps.base.model.entity.customer.LabelManagerValue;importcom.zealer.cps.base.util.AssertHelper;importcom.zealer.cps.base.util.ExcelUtils;importcom.zealer.cps.base.util.FileUploadUtil;importcom.zealer.cps.base.util.HttpRequestUtils;importcom.zealer.cps.base.util.HttpUtils;importcom.zealer.cps.base.util.JSONHelper;importcom.zealer.cps.customer.service.ArrearageUserService;importcom.zealer.cps.customer.service.IptvGroupService;importcom.zealer.cps.customer.service.UserService;importcom.zealer.cps.customer.service.LabelManagerService;importcom.zealer.cps.operation.impl.OperationInterfaceImp;

@Controller

@RequestMapping("/user")public class UserController extendsBaseController

{

@Resource( name= "userService")privateUserService userService;/*** 往某一分组里批量添加用户记录信息

*@paramid 用户id

*@return**/@ResponseBody

@RequestMapping( value= "/batchadduser", produces = "application/json")

@Log("批量添加用户信息")public ResponseEntity batchAddUser( @RequestParam ("excelFile") MultipartFile excelFile, Model model,

HttpServletRequest request, Locale locale )

{

Map jsonMap = new HashMap();

String dir= FileUploadUtil.getFileRealPath( request, excelFile.getName(), "Excel");

String ctxPath=FileUploadUtil.getTomcatPath( request );

String localPath= HttpRequestUtils.getContextPath( request ) + "/";try{

Map resutlMap = ExcelUtils.excelImportUser( ctxPath +dir, request );

List errorList = (List)resutlMap.get( "error");/*如果Excel中存在不符合格式的数据则返回不符合格式的数据*/

if( AssertHelper.isNotEmptyCollection( errorList ) )

{

jsonMap.put("result", 1);

String jsonStr=JSONHelper.toJson( jsonMap );return(new ResponseEntity( jsonStr, HttpStatus.OK ) );

}

List successList = (List)resutlMap.get( "success");

Map > map =checkUserCodeIsExist( successList );/*如果导入的用户账号中存在系统中没有的账号则进行插入操作*/List notExistList = map.get( "noExistList");if( AssertHelper.isNotEmptyCollection( notExistList ) )

{

userService.batchInsertUser( notExistList );

}

}catch( Exception e )

{

log.error("batchadd user to group error::", e );

jsonMap.put("result", -1);

String jsonStr=JSONHelper.toJson( jsonMap );return(new ResponseEntity( jsonStr, HttpStatus.BAD_REQUEST ) );

}

jsonMap.put("result", 0);

String jsonStr=JSONHelper.toJson( jsonMap );return(new ResponseEntity( jsonStr, HttpStatus.OK ) );

}/*** 校验导入的用户账号是否已经存在系统中了

*@paramlist 待导入的用户账号

*@return存在则返回存在的用户账号list,不存在则返回空的list*/

private Map> checkUserCodeIsExist(Listlist)

{

Map> map = new HashMap>();

List allList =UserService.getAllUsersCode();

List existList = new ArrayList();

List noExistList = new ArrayList();for(UserValue UserValue : list)

{if(allList.contains(UserValue.getUserCode()))

{

existList.add(UserValue);

}else{

noExistList.add(UserValue);

}

}

map.put("existList", existList);

map.put("noExistList", noExistList);returnmap;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值