天天看點

java poi 設定時間空間_Java使用POI處理excel中的時間格式

表格中的時間如果直接讀取一般讀取的數字,需要轉換為時間格式,需要入下兩步:

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|}