表格中的时间如果直接读取一般读取的数字,需要转换为时间格式,需要入下两步
1、使用DataUtil类,有时不能自动导入,可能需要手动
import org.apache.poi.ss.usermodel.DateUtil;
import java.text.SimpleDateFormat;
import java.util.Date;
2、处理数据格式的单元格时,进行判断是否为时间,若是时间,则以指定格式处理(第12~19行)
public Object formGetCellType(Cell cell){
Object value=null;
try{
if(cell.getCellType()==cell.CELL_TYPE_BLANK){
value="";
}else if(cell.getCellType()==cell.CELL_TYPE_BOOLEAN){
value=cell.getBooleanCellValue();
}else if(cell.getCellType()==cell.CELL_TYPE_ERROR){
value="";
}else if(cell.getCellType()==cell.CELL_TYPE_FORMULA){
value=cell.getCellFormula();
}else if(cell.getCellType()==cell.CELL_TYPE_NUMERIC){
if (DateUtil.isCellDateFormatted(cell)) {
Date tempValue = cell.getDateCellValue();
SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
value = simpleFormat.format(tempValue);
}else {
value = String.valueOf(cell.getNumericCellValue());
}
}else if(cell.getCellType()==cell.CELL_TYPE_STRING){
value=cell.getStringCellValue();
}else{
value=cell.getDateCellValue();
}
}catch(Exception e){
e.printStackTrace();
}
return value;
}