バックグラウンドjava excelをデータベースコードにインポート
5236 ワード
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.CellStyle;
@RequestMapping("/ajaxUploadFile")
@ResponseBody
public String upload(@RequestParam MultipartFile[] userfiles) throws IOException {
String result = "success";
for (MultipartFile userfile : userfiles) {
if (userfile.isEmpty()) {
result = "failure";
} else {
try {
// excle
List modals = new ArrayList();
modals.add(new CastModal(0, "account", "String", true));
modals.add(new CastModal(1, "name", "String", true));
modals.add(new CastModal(2, "sex", "String", true));
modals.add(new CastModal(3, "mobile", "String", true));
modals.add(new CastModal(4, "phone", "String"));
modals.add(new CastModal(5, "email", "String"));
modals.add(new CastModal(6, "orgName", "String"));
List userVoList = ExcelUtil.getList(userfile.getInputStream(), SysUserVo.class, modals);
// ----- -----
int rowNum = 1;
SessionParam sessionParam = (SessionParam) SecurityUtils.getSubject()
.getSession()
.getAttribute("sessionParam");
SysUser opUser = sessionParam.getUser();
for (SysUserVo sysUserVo : userVoList) {
// rowNum ++;
//
result = checkField("account", sysUserVo.getAccount(), "^[\\u0391-\\uFFE5\\w\\.@-]{1,25}$",
true);
if (!"success".equals(result)) {
return " " + rowNum + " " + result;
}
//
if (StringUtils.isNotBlank(ajaxCheckAccount(sysUserVo.getAccount()))) {
return " " + rowNum + " ";
}
//
result = checkField("name", sysUserVo.getName(), "^[\\u0391-\\uFFE5\\w\\.@-]{1,50}$", true);
if (!"success".equals(result)) {
return " " + rowNum + " " + result;
}
//
result = checkField("gender", sysUserVo.getSex(), "^[\\u7537\\u5973]{1}$", true);
if (!"success".equals(result)) {
return " " + rowNum + " " + result;
}
//
result = checkField("mobile", sysUserVo.getMobile(), "^1[3-9]\\d{9}$", true);
if (!"success".equals(result)) {
return " " + rowNum + " " + result;
}
//
if (StringUtils.isNotBlank(sysUserVo.getPhone())) {
result = checkField("phone", sysUserVo.getPhone(), "^\\d{7,11}$", false);
if (!"success".equals(result)) {
return " " + rowNum + " " + result;
}
}
//
if (StringUtils.isNotBlank(sysUserVo.getEmail())) {
result = checkField("email", sysUserVo.getEmail()
.toLowerCase(),
"^[\\w\\+\\-]+(\\.[\\w\\+\\-]+)*@[a-z\\d\\-]+(\\.[a-z\\d\\-]+)*\\.([a-z]{2,4})$",
false);
if (!"success".equals(result)) {
return " " + rowNum + " " + result;
}
}
//
sysUserVo.setCreateTime(new Date());
sysUserVo.setCreateUserId(opUser.getId());
if (" ".equals(sysUserVo.getSex()))
sysUserVo.setSex("man");
else
sysUserVo.setSex("woman");
sysUserVo.setPassword(MD5Utils.md5(ConstantsUtils.UAC_USER_PASSWORD_DEFAULT));
sysUserVo.setStatus("SA");
;
}
// ------ ------
//
sysUserService.batchSaveUser(userVoList);
} catch (Exception e) {
e.printStackTrace();
result = "failure";
}
}
}
return result;
}
public String checkField(String fieldName, String fieldValue, String reg, Boolean isNotNull) {
if (null != isNotNull && isNotNull) {
if (StringUtils.isBlank(fieldValue))
return " ";
}
if (null == fieldValue)
return "success";
if (!fieldValue.matches(reg)) {
if ("account".equals(fieldName))
return " / /_/-/. @, 25 ";
else if ("name".equals(fieldName))
return " / /_/-/. @, 50 ";
else if ("gender".equals(fieldName))
return " ";
else if ("mobile".equals(fieldName))
return " ";
else if ("phone".equals(fieldName))
return " ";
else if ("email".equals(fieldName))
return " ";
else if ("orgName".equals(fieldName))
return " / /_/-/. @, 150 ";
else
return " ";
}
;
return "success";
}