JAva解析excel


    /**
	 * 	insertSave      ,    Map,  List> 
	 * 
	 * @param sheet
	 */
	private List> insertSave(Sheet sheet,Model m) {
		int i;
		List> delforList = new ArrayList<>();
		for (i = 2; i < sheet.getLastRowNum() + 1; i++) {//           
			Row row = sheet.getRow(i);
			if(null == row) {
				return delforList;
			}
			Map map = new HashMap();
			// row.getLastCellNum()               ,       ,          21 
			for (int j = 0; j < 22; j++) {
				Cell c = row.getCell(j);
				if (null != c) {
					switch (c.getCellTypeEnum()) {
					case _NONE:
					case BLANK:
						map.put(j,"");
						break;
					case BOOLEAN:
						map.put(j, c.getBooleanCellValue());
						break;
					case ERROR:
						map.put(j, c.getErrorCellValue());
						break;
					case FORMULA:
						map.put(j, c.getCellFormula());
						break;
					case NUMERIC:
						Object value = null;
						if (HSSFDateUtil.isCellDateFormatted(c)) {//     
							Date date = c.getDateCellValue();
							if (j == 15) {
								value = DateFormatUtils.format(date, "yyyy-MM-dd HH:mm:ss");
								map.put(j, value);
								break;
							}
							value = DateFormatUtils.format(date, YYYY_MM_DD);
							map.put(j, value);
						} else {//     
							value = c.getNumericCellValue();
							DecimalFormat df = new DecimalFormat(_0);
							value = df.format(value);
							map.put(j, value);
						}
						break;
					default:
						if (StringUtils.isNotBlank(c.getStringCellValue())) {
							map.put(j, c.getStringCellValue());
						}else {
							map.put(j,"");
						}
						break;
					}
				}else {
					map.put(j,"");
				}
			}
			//         ,    
			if (StringUtils.isEmpty(map.get(2).toString()) && StringUtils.isEmpty(map.get(4).toString())
					&& StringUtils.isEmpty(map.get(5).toString()) && StringUtils.isEmpty(map.get(6).toString())
					&& StringUtils.isEmpty(map.get(8).toString()) && StringUtils.isEmpty(map.get(21).toString())) {
				int num = i + 1;
				m.addAttribute("sourse", StringUtils.join("       ", num, " :                "));
				return delforList;
			}
			delforList.add(map);
		}
		return delforList;
	}