poi 날짜cell에 대한 검증 변환

2031 단어 Excel
Excel 파일에서 어떤 사람은 날짜의 칸에 문자열을 입력하고, 어떤 사람은 날짜 형식의 데이터를 입력하는 것이 비교적 싫다
그래서 날짜를 읽는 칸은 조심해야 돼요.
다음은 excel 파일을 올릴 때 입력한 날짜가 정확한지 확인하는 방법입니다.
public static boolean checkFilebyDate(File file,Date fromDate,Date toDate){
		SimpleDateFormat  parseTime = new SimpleDateFormat("dd/MM/yyyy");
		FileInputStream in = null;
		try {
			in = new FileInputStream(file);
			HSSFWorkbook workbook = new HSSFWorkbook(in); 
			HSSFSheet sheet = workbook.getSheetAt(0);   
			int lrnum = sheet.getLastRowNum();  
			Date excelFromDate = null;
			Date excelToDate = null;
			HSSFCell cellTo = sheet.getRow(1).getCell(1);
			HSSFCell cellFrom = sheet.getRow(lrnum-1).getCell(1);
			if(cellTo.getCellType() == HSSFCell.CELL_TYPE_STRING){
				String from = cellFrom.getStringCellValue();
				String to = cellTo.getStringCellValue();
				excelFromDate = parseTime.parse(from);
				excelToDate = parseTime.parse(to);
			}else if(cellTo.getCellType() == HSSFCell.CELL_TYPE_NUMERIC){			
				double from = cellFrom.getNumericCellValue();
				double to = cellTo.getNumericCellValue();
				//boolean b = HSSFDateUtil.isCellDateFormatted(cellTo);
				excelFromDate = HSSFDateUtil.getJavaDate(from);
				excelToDate = HSSFDateUtil.getJavaDate(to);
			}else{
				return false;
			}
			
			in.close();
			if(excelFromDate.getTime() < fromDate.getTime()){
				return false;
			}else if(excelToDate.getTime() > toDate.getTime()){
				return false;
			}else{
				return true;
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
			return false;
		} catch (IOException e) {
			e.printStackTrace();
			return false;
		} catch (ParseException e) {
			e.printStackTrace();
			return false;
		}finally{
			System.out.print("checkFilebyDate");
		}			
	}
 

좋은 웹페이지 즐겨찾기