[学习笔记]解析Excel

来源:互联网 发布:windows怎么解压缩文件 编辑:程序博客网 时间:2024/06/08 14:11
public List<BpmRlzy_StaffingDetail> saveScalleDetail(String path,long scallId){
BpmConfigure bpmconfig=BpmConfiguration.getInstance().getConfig();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String fullpath=bpmconfig.getRuntimeDocRoot()+path;
InputStream is = new FileInputStream(fullpath);
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is);
BpmRlzy_StaffingDetail scalldetail=null;
List<BpmRlzy_StaffingDetail> list=new ArrayList<BpmRlzy_StaffingDetail>();
// 循环工作表Sheet
for (int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) {
HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);
if (hssfSheet == null) {
continue;
}
// 循环行Row
for (int rowNum = 1; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {
HSSFRow hssfRow = hssfSheet.getRow(rowNum);
if (hssfRow == null) {
continue;
}
scalldetail=new BpmRlzy_StaffingDetail();
// 循环列Cell
HSSFCell depName = hssfRow.getCell(0);
if (depName == null) {
continue;
}
//判断部门是否存在 查找部门
String orgName=depName.getStringCellValue()!=null?depName.getStringCellValue():"";
SysOrganization dep=findSysOrganization(orgName);
if(dep==null){
return null;
}
scalldetail.setDepName(dep.getOrgName());

HSSFCell TheRotation = hssfRow.getCell(1);
if (TheRotation == null) {
continue;
}
scalldetail.setPosition(String.valueOf(TheRotation)!=""?String.valueOf(TheRotation):"");

HSSFCell Name = hssfRow.getCell(2); 
if (Name == null) {
continue;
}
scalldetail.setLevel(Name.getStringCellValue()!=""?Name.getStringCellValue():"");

HSSFCell IDCard = hssfRow.getCell(3); 
if (IDCard == null) {
continue;
}
String organization="0";
if(IDCard.CELL_TYPE_NUMERIC==0){
IDCard.setCellType(Cell.CELL_TYPE_STRING);
organization=IDCard.getStringCellValue();
}
scalldetail.setOrganization(organization);
HSSFCell Position = hssfRow.getCell(4);
if (Position == null) { 
continue;
}

String shiyou="0";
if(Position.CELL_TYPE_NUMERIC==0){
Position.setCellType(Cell.CELL_TYPE_STRING);
shiyou=Position.getStringCellValue();
}
scalldetail.setShiYou(shiyou);

HSSFCell ClasseCount = hssfRow.getCell(5); 
if (ClasseCount == null) {
continue;
}
scalldetail.setClasseCount(String.valueOf(ClasseCount)!=""?String.valueOf(ClasseCount):"");

HSSFCell WorkingHours = hssfRow.getCell(6); 
if (WorkingHours == null) {
continue;
}
scalldetail.setWorkingHours(String.valueOf(WorkingHours)!=""?String.valueOf(WorkingHours):"");


HSSFCell JobStatus = hssfRow.getCell(7); 
if (JobStatus == null) { 
continue;
}
scalldetail.setJobStatus(String.valueOf(JobStatus)!=""?String.valueOf(JobStatus):"");

HSSFCell OffSituation = hssfRow.getCell(8); 
if (OffSituation == null) {
continue;
}
scalldetail.setOffSituation(String.valueOf(OffSituation)!=""?String.valueOf(OffSituation):"");

HSSFCell Remark = hssfRow.getCell(9); 

scalldetail.setRemark(Remark!=null?String.valueOf(Remark):"");

scalldetail.setBpmRlzy_StaffingID(scallId); 
list.add(scalldetail);
}
}
return list;
}
0 0