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