您的位置:首页 > 其它

excel数据导入

2017-06-23 09:32 92 查看

HSSFWorkbook wookbook = new HSSFWorkbook(new FileInputStream(fileTempPath));//创建工作簿的引用
HSSFSheet sheet = wookbook.getSheet("Sheet1");
//获取到Excel文件中的所有行数
int rows = sheet.getPhysicalNumberOfRows();
//遍历行
for (row_num = 1; row_num < rows; row_num++){
// 读取左上端单元格
HSSFRow row = sheet.getRow(row_num);
//行不为空
if(row!=null){
//获取到Excel文件中的所有的列
int cells = row.getPhysicalNumberOfCells();
HrEmployeeInfoVo emp = new HrEmployeeInfoVo();
//遍历列
for (cell_num = 0; cell_num < cells; cell_num++){
//获取列的值
HSSFCell cell = row.getCell(cell_num);
//列不为空时
if (cell != null){
String[] values = getSheetUnitValue(cell,row_num,cell_num,errorLogPath);
String value = values[0];
String valueError = values[1];
if("false".equals(valueError)){
valid = valid+1;
}
//判断,类型转换
switch(cell_num){
case 0: // 姓名
emp.setName(value);

break;
case 1: //性别
if(value.equals("男")){
value = "1";
emp.setSex(value);
}else if(value.equals("女")){
value="0";
emp.setSex(value);
}else{
//打印错误记录
this.printErrorLog(errorLogPath, row_num, cell_num);
valid = valid+1;
}
emp.setSex_name(value);
break;
case 2: //出生年月
emp.setBirthday(value);
System.out.println("/////////////////"+emp.getBirthday());
break;
case 3://籍贯
emp.setPlaceOrign(value);
break;
case 4://政治面貌
emp.setPoliticalAffiliation(value);
break;
case 5://名族
emp.setMinorities(value);
break;
case 6://身份证号
Pattern idNumPattern = Pattern.compile("(\\d{14}[0-9a-zA-Z])|(\\d{17}[0-9a-zA-Z])");
Matcher idNumMatcher = idNumPattern.matcher(value);
if(!idNumMatcher.matches()){//如果不匹配
this.printErrorLog(errorLogPath, row_num, cell_num);
valid = valid+1;
}
emp.setIdentityCardNo(value);
break;
case 7://户口所在地
emp.setResidenceAddress(value);
break;
case 8://工作单位
Dept unit = this.getUnitByUnitName(deptList, value);
if(unit==null){
//打印错误记录
this.printErrorLog(errorLogPath, row_num, cell_num);
valid = valid+1;
}
emp.setUnitName(value);
break;
case 9://部门
// emp.setDeptName(value);
HSSFCell prevCell = row.getCell((short)8);
String unitName = prevCell.getStringCellValue();
emp.setUnitName(unitName);
Dept dept = this.getDeptByDeptName(deptList, value,unitName);
if(dept==null){
//打印错误记录
this.printErrorLog(errorLogPath, row_num, cell_num);
valid = valid+1;
}else{
emp.setDeptID(dept.getId());
emp.setDeptName(value);
}
break;
case 10://职务
emp.setBusiness(value);
break;
case 11://固定电话
emp.setMobilePhone(value);
break;
case 12://手机
emp.setTelePhone(value);
break;
case 13://通讯地址
emp.setCommuAddress(value);
break;
case 14://备注
emp.setRemark(value);
break;
default:
break;
}
}
}
empList.add(emp);//将一行数据的对象存到empList中
}
}
} catch (Exception e) {
// this.printErrorLog(errorLogPath, row_num, cell_num);
// //数据格式错误
// return true;
e.printStackTrace();
}
if(valid>0){
return true; //验证不通过
}else{
//验证通过,将list数据放到session空间中
HttpSession session = request.getSession();
session.setAttribute("imEmpList", empList);
return false;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: