前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java大数据批量导入Excel

java大数据批量导入Excel

作者头像
十分钟空间
发布2022-08-17 14:04:13
2.3K2
发布2022-08-17 14:04:13
举报
文章被收录于专栏:Springboot框架学习

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 "上传成功";
}

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/12/07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.element ui前台导入代码
  • 2.java后台导入系统
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档