poi 对日期cell的验证转换
程序员文章站
2022-03-11 12:45:40
...
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");
}
}
推荐阅读
-
对有日期的数据实现月份的筛选无需将日期转换成月
-
对有日期的数据实现月份的筛选无需将日期转换成月
-
pl/sql对采用数字格式的日期进行日期的转换
-
java使用poi,做一个通用的导入导出,核对数据格式的要求,对数据格式长度和对日期的要求验证
-
pl/sql对采用数字格式的日期进行日期的转换
-
pl/sql对采用数字格式的日期进行日期的转换
-
poi 对日期cell的验证转换
-
apache poi 3.0对HSSF cell方法的改变 ApacheEclipseJavaExcelMyeclipse
-
apache poi 3.0对HSSF cell方法的改变 ApacheEclipseJavaExcelMyeclipse