前台页面
1 <form action="addUsers" method="post" onsubmit="return check()" 2 enctype="multipart/form-data"> 3 <div class="panel admin-panel"> 4 <div class="panel-head"> 5 <strong class="icon-reorder">批量导入用户</strong> 6 </div> 7 <div class="padding border-bottom"> 8 <ul class="search"> 9 <li><input type="file" name="input" id="input" 10 style=" 200px; line-height: 17px; display: inline-block" 11 class="input" value="" /> 12 <input type="submit" class="button border-main icon-search" 13 value="导入" /></li> 14 </ul> 15 </div> 16 <div id="showmsg" style="display: none; font-size: 20px; color: red;"> 17 数据正在导入中,请稍后......</div> 18 </div> 19 </form> 20 21 function check(){ 22 var file = document.getElementById("input").value; 23 var fileType = file.substr(file.lastIndexOf("."),file.length).toLowerCase(); 24 25 if (file.length <=0) { 26 alert("请选择要导入的文件"); 27 return false; 28 } 29 if (fileType !=".xls"&& fileType !=".et"&& fileType !=".xlsx") { 30 alert("文件格式不符合要求"); 31 return false; 32 } 33 $("#showmsg").show(); 34 return true; 35 };
后台代码
1 /** 2 * 批量导入用户 3 * @throws IOException 4 */ 5 @RequestMapping("addUsers") 6 7 public String addUsers( HttpServletRequest request, MultipartFile input,HttpServletResponse rsp) throws IOException{ 8 request.setCharacterEncoding("UTF-8"); 9 rsp.setContentType("text/html;charset=UTF-8"); 10 CommonsMultipartFile cFile = (CommonsMultipartFile) input; 11 DiskFileItem fileItem = (DiskFileItem) cFile.getFileItem(); 12 InputStream is = fileItem.getInputStream(); 13 XSSFWorkbook workbook = new XSSFWorkbook(is); 14 XSSFSheet sheet = workbook.getSheetAt(0); 15 int rowNum = sheet.getPhysicalNumberOfRows(); 16 for (int i = 1; i < rowNum; i++) { 17 XSSFRow row = sheet.getRow(i); 18 19 XSSFCell cell = row.getCell(0); 20 cell.setCellType(XSSFCell.CELL_TYPE_STRING); 21 String cellStr = cell.getStringCellValue(); 22 System.out.println(cellStr); 23 XSSFCell cell1 = row.getCell(1); 24 cell1.setCellType(XSSFCell.CELL_TYPE_STRING); 25 String cellStr1 = cell1.getStringCellValue(); 26 27 XSSFCell cell2 = row.getCell(2); 28 cell2.setCellType(XSSFCell.CELL_TYPE_STRING); 29 String cellStr2 = cell2.getStringCellValue(); 30 31 XSSFCell cell3 = row.getCell(3); 32 cell3.setCellType(XSSFCell.CELL_TYPE_STRING); 33 String cellStr3 = cell3.getStringCellValue(); 34 35 User user = new User(); 36 user.setUserName(cellStr1); 37 user.setGender(cellStr2); 38 user.setAge(cellStr3); 39 userservice.addUser(user); 40 41 42 } 43 return selectAll(request, rsp); 44 45 } 46 47
Excel
pojo
1 package com.demo.pojo; 2 3 public class User { 4 5 private int id; 6 private String userName; 7 private String pwd; 8 private String age ; 9 private String gender; 10 private String address; 11 private int roleId; 12 private String roleName; 13 public String getRoleName() { 14 return roleName; 15 } 16 public void setRoleName(String roleName) { 17 this.roleName = roleName; 18 } 19 public int getRoleId() { 20 return roleId; 21 } 22 public void setRoleId(int roleId) { 23 this.roleId = roleId; 24 } 25 public String getAge() { 26 return age; 27 } 28 public void setAge(String age) { 29 this.age = age; 30 } 31 public String getGender() { 32 return gender; 33 } 34 public void setGender(String gender) { 35 this.gender = gender; 36 } 37 public String getAddress() { 38 return address; 39 } 40 public void setAddress(String address) { 41 this.address = address; 42 } 43 public int getId() { 44 return id; 45 } 46 public void setId(int id) { 47 this.id = id; 48 } 49 public String getUserName() { 50 return userName; 51 } 52 public void setUserName(String userName) { 53 this.userName = userName; 54 } 55 public String getPwd() { 56 return pwd; 57 } 58 public void setPwd(String pwd) { 59 this.pwd = pwd; 60 } 61 @Override 62 public String toString() { 63 return "User [id=" + id + ", userName=" + userName + ", pwd=" + pwd + ", age=" + age + ", gender=" + gender 64 + ", address=" + address + ", roleId=" + roleId + ", roleName=" + roleName + "]"; 65 } 66 @Override 67 public int hashCode() { 68 final int prime = 31; 69 int result = 1; 70 result = prime * result + ((address == null) ? 0 : address.hashCode()); 71 result = prime * result + ((age == null) ? 0 : age.hashCode()); 72 result = prime * result + ((gender == null) ? 0 : gender.hashCode()); 73 result = prime * result + id; 74 result = prime * result + ((pwd == null) ? 0 : pwd.hashCode()); 75 result = prime * result + roleId; 76 result = prime * result + ((userName == null) ? 0 : userName.hashCode()); 77 return result; 78 } 79 @Override 80 public boolean equals(Object obj) { 81 if (this == obj) 82 return true; 83 if (obj == null) 84 return false; 85 if (getClass() != obj.getClass()) 86 return false; 87 User other = (User) obj; 88 if (address == null) { 89 if (other.address != null) 90 return false; 91 } else if (!address.equals(other.address)) 92 return false; 93 if (age == null) { 94 if (other.age != null) 95 return false; 96 } else if (!age.equals(other.age)) 97 return false; 98 if (gender == null) { 99 if (other.gender != null) 100 return false; 101 } else if (!gender.equals(other.gender)) 102 return false; 103 if (id != other.id) 104 return false; 105 if (pwd == null) { 106 if (other.pwd != null) 107 return false; 108 } else if (!pwd.equals(other.pwd)) 109 return false; 110 if (roleId != other.roleId) 111 return false; 112 if (userName == null) { 113 if (other.userName != null) 114 return false; 115 } else if (!userName.equals(other.userName)) 116 return false; 117 return true; 118 } 119 120 }
导入成功示例