国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - Java教程 - Springboot上傳excel并將表格數據導入或更新mySql數據庫的過程

Springboot上傳excel并將表格數據導入或更新mySql數據庫的過程

2021-04-24 10:41Hello小揚子 Java教程

這篇文章主要介紹了Springboot上傳excel并將表格數據導入或更新mySql數據庫的過程 ,本文以Controller開始,從導入過程開始講述,其中包括字典表的轉換,需要的朋友可以參考下

本文主要描述,springboot-mybatis框架下上傳excel,并將之導入mysql數據庫的過程,如果用戶id已存在,則進行更新修改數據庫中該項信息,由于用到的是前后端分離技術,這里記錄的主要是后端java部分,通過與前端接口進行對接實現功能,使用layui等前端框架與之對接,也可以自己寫前端代碼,本文以controller開始,從導入過程開始講述,其中包括字典表的轉換

1.在pom.xml文件中導入注解,主要利用poi

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<dependency>
  <groupid>org.apache.poi</groupid>
  <artifactid>poi-ooxml</artifactid>
  <version>3.9</version>
</dependency>
<dependency>
  <groupid>commons-fileupload</groupid>
  <artifactid>commons-fileupload</artifactid>
  <version>1.3.1</version>
</dependency>
<dependency>
  <groupid>commons-io</groupid>
  <artifactid>commons-io</artifactid>
  <version>2.4</version>
</dependency>

2.controller接口

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@postmapping("/save")
public string adduser(@requestparam("file") multipartfile file) {
 string filename = file.getoriginalfilename();
 try {
  return sysservice.batchimport(filename, file);
 } catch (myexception e) {
  e.printstacktrace();
  return e.getmessage();
 }catch(exception e){
  e.printstacktrace();
  return "文件異常,導入失敗";
   
 }
}

3.服務層接口

?
1
boolean import(string filename, multipartfile file) throws exception;

4.業務層實現類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
@transactional(readonly = false,rollbackfor = exception.class)
@override
public boolean import(string filename, multipartfile file) throws exception {
 map<string, integer> departmentmap = finddepartment();
 map<string, integer> rolemap = findrole();
 boolean notnull = false;
  list<user> userlist = new arraylist<user>();
 if (!filename.matches("^.+\\.(?i)(xls)$") && !filename.matches("^.+\\.(?i)(xlsx)$")) {
   throw new myexception("上傳文件格式不正確");
 }
 boolean isexcel2003 = true;
 if (filename.matches("^.+\\.(?i)(xlsx)$")) {
  isexcel2003 = false;
 }
 inputstream is = file.getinputstream();
  workbook wb = null;
  if (isexcel2003) {
   wb = new hssfworkbook(is);
  } else {
   wb = new xssfworkbook(is);
  }
  sheet sheet = wb.getsheetat(0);
  if(sheet!=null){
   notnull = true;
  }
 user user;
 for (int r = 1; r <= sheet.getlastrownum(); r++) {
  row row = sheet.getrow(r);
  if (row == null){
   continue;
  }
  user = new user();
  if( row.getcell(0).getcelltype() !=1){
   throw new myexception("導入失敗(第"+(r+1)+"行,id單元格格式請設為文本格式)");
  }
  string id = row.getcell(0).getstringcellvalue();
  if(id==null || id.isempty()){
    throw new myexception("導入失敗(第"+(r+1)+"行,id未填寫)");
  }
  string name = row.getcell(1).getstringcellvalue();
  if(name==null || name.isempty()){
    throw new myexception("導入失敗(第"+(r+1)+"行,姓名未填寫)");
  }
  string department = row.getcell(2).getstringcellvalue();
  if(departmentmap.get(department)==null){
    throw new myexception("導入失敗(第"+(r+1)+"行,不存在此單位或單位未填寫)");
  }
  string role = row.getcell(3).getstringcellvalue();
  if(rolemap.get(role)==null){
   throw new myexception("導入失敗(第"+(r+1)+"行,不存在此角色或角色未填寫)");
  }
  date date;
  if(row.getcell(4).getcelltype() !=0){
   throw new myexception("導入失敗(第"+(r+1)+"行,入職日期格式不正確或未填寫)");
   }else{
     date = row.getcell(4).getdatecellvalue();
   }
   user.setid(id);
   user.setname(name);
   user.setdepartmentid((int) departmentmap.get(department));
   user.setroleid((int) rolemap.get(role));
   user.setdate(date);
   userlist.add(user);
  }
 for (user user : userlist) {
  string id = user.getid();
  int cnt = usermapper.selectbyid(id);
  if (cnt == 0) {
   usermapper.adduser(user);
  } else {
   usermapper.updateuserbyid(user);
  }
 }
 return notnull;
}

總結

以上所述是小編給大家介紹的springboot上傳excel并將表格數據導入或更新mysql數據庫,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:https://blog.csdn.net/xyy1028/article/details/79054749

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 美女毛片 | 国产精品美女久久久久久久久久久 | 久久国产精品一区二区三区 | 国产精品国产 | 国外成人在线视频网站 | 国产高清视频一区 | 欧美性一区 | 日本一区二区视频免费观看 | 中文字幕乱码亚洲精品一区 | 一级黄色一级黄色 | 人人干日日操 | 亚洲 中文 欧美 日韩 在线观看 | 中国freesex| 欧美黄色精品 | 国产精品毛片一区二区 | 亚洲日本乱码在线观看 | 午夜精品久久久 | 999在线观看精品免费不卡网站 | av不卡在线播放 | 99国产视频 | 国产日韩精品一区 | 免费国产黄色大片 | 欧美日韩在线观看视频 | 国产亚洲精品美女久久久久久久久久 | 亚洲一区在线免费观看 | 国语精品久久 | av成人在线观看 | 中文字幕一区二区三区精彩视频 | 黄色电影免费在线观看 | 天堂成人av | 亚洲在线一区二区 | 成人免费视频7777777 | 久久精品一级毛片 | 午夜影院黄色 | 国产精品日韩一区二区 | 黄色免费观看 | 国产精品久久久999 一区二区三区视频免费在线观看 | 亚洲国产精品久久久 | 日日操夜夜操免费视频 | 成人免费视频在线观看 | 国产成人精品一区二区三区四区 |