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");
}
}
分享到:
相关推荐
标题“poi excel转换成bean”涉及到的关键技术是使用Apache POI从Excel文件中读取数据并将其映射到Java Bean对象中。这个过程在处理大量结构化数据时特别有用,例如导入数据库或进行数据分析。 首先,我们需要理解...
在这个场景中,我们将重点讨论如何使用Java POI库将Word文档转换为HTML格式,并确保这种转换对Microsoft Word 2003(.doc)和2007(.docx)版本都兼容。 首先,我们需要引入Apache POI库到Java项目中。这可以通过...
在日志报表场景中,如压缩包中的"2018-01-04-2018-01-10-日志报表-1515564538431.xlx.xlsx",Apache POI可以用来生成或读取包含特定日期范围的日志数据的Excel文件,便于数据分析和报告生成。通过将日志数据转换为二...
以下是对标题和描述中涉及知识点的详细说明: 1. **Apache POI**: Apache POI 是一个开源项目,它允许Java应用程序读取、写入和修改Microsoft Office格式的文件,包括Excel (XLS, XLSX)、Word (DOC, DOCX)等。在...
3. 数据类型:Apache POI支持多种单元格数据类型,包括数值、字符串、日期、布尔值等。开发者可以使用`HSSFCell.CELL_TYPE_NUMERIC`、`HSSFCell.CELL_TYPE_STRING`等常量来设置或获取单元格的数据类型。 4. 样式和...
POI提供了多种方法来获取Cell的内容,包括直接获取值或者根据数据类型进行转换。 5. **修改Excel文件**: 对于已存在的Excel文件,你可以通过打开Workbook,找到目标Sheet和Row,然后修改或替换Cell的值。完成后,...
例如,将数据转换为字符串、数字或日期。 四、Excel数据导出 1. **创建Workbook** 首先,你需要创建一个新的Workbook实例,然后创建Sheet,再创建Row,最后创建Cell。 ```java Workbook workbook = new ...
在Java开发中,Apache POI是一个...通过以上内容,你应该对使用Apache POI进行Java开发中的Excel操作有了更深入的理解。实践时,可以结合具体的业务需求,灵活运用POI提供的API,实现高效、可靠的Excel文档处理功能。
在处理Excel时,DOM4J可能用于构建或解析模板文件,将数据绑定到XML结构,然后利用POI将这些数据转换为Excel格式。此外,DOM4J还可以用于读取Excel文件中的元数据,如工作表信息、样式等。 4. **使用场景**:这些...
对于数值单元格,如果值为日期,记得先转换为`Date`对象并使用`CellStyle.setDataFormat()`设置相应的日期格式。 6. **格式化和样式**:Java POI允许你设置单元格的样式,包括字体、颜色、对齐方式、边框等。首先,...
对输入数据进行验证和过滤,确保数据的合法性。 总之,"Springboot+Poi实现Excel的导入导出"项目结合了多种强大的工具,提供了一种高效、灵活的数据处理解决方案。无论是开发数据管理应用,还是进行数据分析任务,...
4. **处理Cell数据**:Cell可以包含不同类型的值(如字符串、数字、日期等),需要使用适当的API进行转换: ```java String cellValue; switch (cell.getCellType()) { case STRING: cellValue = cell....
cell.setCellValue("Hello, POI!"); FileOutputStream out = new FileOutputStream("output.xlsx"); workbook.write(out); out.close(); workbook.close(); ``` 通过上述步骤,你可以使用Apache POI进行Excel...
- 数据分析:对Excel文件进行批量处理,如数据清洗、转换和统计分析。 总的来说,Apache POI是Java开发者处理Excel文件不可或缺的工具,无论是在企业级应用、数据分析还是自动化任务中,都能发挥重要作用。通过学习...
9. **数据验证**:在Excel中,可以定义数据验证规则,如输入范围限制、日期验证等,POI同样支持设置和读取这些规则。 10. **宏支持**:对于包含VBA宏的Excel文件,POI虽然无法直接处理宏,但可以读取和写入不含宏的...
2. **单元格数据处理**:对`Row`和`Cell`的读写进行封装,例如`getCellValue()`,`setCellValue()`,支持不同数据类型(字符串、数字、日期等)。 3. **样式和格式**:提供设置单元格样式、字体、边框和颜色的方法,...
此外,POI还提供了处理日期的工具类`HSSFDateUtil`,用于将Java日期转换为Excel可识别的数值格式。对于样式和格式,你可以创建`HSSFCellStyle`对象,设置字体、颜色、对齐方式等,并应用到单元格上。例如: ```java...
POI提供的API不仅仅是对文件的简单读写操作,还能够在不同的Office文件格式之间进行转换。比如,可以将一个HSSF格式的Excel文件转换成XSSF格式,或者将Word文档中的内容提取出来转换为PDF格式等。 开发者在使用...
1. poi-*.jar:主核心库,包含对Excel、Word、PowerPoint等的基本操作。 2. poi-ooxml-*.jar:处理OOXML格式(如XLSX、DOCX)的库。 3. poi-ooxml-schemas-*.jar:包含OOXML的XML模式定义,用于验证数据结构。 4. ...
在实际应用中,为了实现通用性,可能需要处理各种不同的数据格式和用户输入,如日期、数字、字符串等,以及处理可能存在的空值或异常情况。此外,对于导入,可能还需要验证数据的有效性和一致性,确保导入的数据符合...