表格中的時間如果直接讀取一般讀取的數字,需要轉換為時間格式,需要入下兩步:
1、使用DateUtil類,有時不能自動導入,可能需要手動
import org.apache.poi.ss.usermodel.DateUtil;
import java.text.SimpleDateFormat;
import java.util.Date;
2、處理資料格式的單元格時,先判斷是否為數字,若是再進行判斷是否為時間,若是時間,則以指定格式處理,代碼實作第12~19行
01|public Object formGetCellType(Cell cell){
02| Object value=null;
03| try{
04| if(cell.getCellType()==cell.CELL_TYPE_BLANK){
05| value="";
06| }else if(cell.getCellType()==cell.CELL_TYPE_BOOLEAN){
07| value=cell.getBooleanCellValue();
08| }else if(cell.getCellType()==cell.CELL_TYPE_ERROR){
09| value="";
10| }else if(cell.getCellType()==cell.CELL_TYPE_FORMULA){
11| value=cell.getCellFormula();
12| }else if(cell.getCellType()==cell.CELL_TYPE_NUMERIC){
13| if (DateUtil.isCellDateFormatted(cell)) {
14| Date tempValue = cell.getDateCellValue();
15| SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
16| value = simpleFormat.format(tempValue);
17| }else {
18| value = String.valueOf(cell.getNumericCellValue());
19| }
20| }else if(cell.getCellType()==cell.CELL_TYPE_STRING){
21| value=cell.getStringCellValue();
22| }else{
23| value=cell.getDateCellValue();
24| }
25| }catch(Exception e){
26| e.printStackTrace();
27| }
28| return value;
29|}