java大数据批量导入Excel

2022-08-17 14:04:13 浏览数 (1)

1.element ui前台导入代码

代码语言:javascript复制
<el-upload class="text_uploader" 
 :show-file-list="false" 
 :before-upload="beforeUpload" 
 :on-success="onSuccess" 
 :on-error="onError" 
 :disabled="importDataDisabled"
 :headers="importHeaders"
 :action="/sys/sysUser/importData">
  <el-button :disabled="importDataDisabled" type="success" :icon="importDataBtnIcon">
    {{importDataBtnText}}
  </el-button>
</el-upload>

2.java后台导入系统

代码语言:javascript复制
/**
 * excel导入
 * R为自定义的返回(code/message之类的,根据自己的情况来修改)
 */
@PostMapping("/importData")
public String importData(MultipartFile file, HttpServletRequest req) throws IOException {

    InputStream inputStream = null;
    List<List<Object>> list = null;
    if (file.isEmpty()) {
        return "文件不能为空";
    }
    try {
        inputStream = file.getInputStream();
        list = this.getBankListByExcel(inputStream, file.getOriginalFilename());
        inputStream.close();

        // 插入数据库
        for (int i = 0; i < list.size(); i  ) {
            List<Object> itemData = list.get(i);
      // 用户实体
            User user = new User();
      // 用户编码
            user.setUserCode(String.valueOf(itemData.get(0)));
      // 用户名
            user.setUserName(String.valueOf(itemData.get(1)));
      // 性别
            user.setSex(String.valueOf(itemData.get(2)));
      // 出生日期
            if (String.valueOf(itemData.get(3)) != null) {
                Date BirthDate = new SimpleDateFormat("yyyy/MM/dd").parse(String.valueOf(itemData.get(3)));
                user.setBirthDate(BirthDate);
            }
      // 创建时间
            user.setCreateTime(new Date());
      // 更新时间
            user.setModifyTime(new Date());
            user.setDelFlag("0");
            user.setStatus("0");
      // 判断是否存在
            UserPageInvo invo = new UserPageInvo();
            invo.setUserCode(user.getUserCode());
            List<UserOut> Userlist = this.UserService.getUserList(invo);
      // 不存在添加
            if (Userlist == null || Userlist.size() == 0) {
                UUID uuid = UUID.randomUUID();
                user.setUserId(uuid.toString());
                int res = this.UserService.insertUser(user);
            } else {
        // 存在更新
                user.setUserId(Userlist.get(0).getUserId());
                int res = this.UserService.updateUser(user);
            }
        }
    } catch (IOException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return "上传成功";
}

单条数据新增修改的时候基本上不用导入就可以,不过一般遇到业务比较复杂的系统,我们导入功能还是对于用户来说还是挺方便的,后续我会分享更多的技术相关的内容,请大家多多关注。

0 人点赞