excel常規(guī)格式變了怎么辦 java的poi的excel導(dǎo)入怎么判斷日期格式的單元格?
java的poi的excel導(dǎo)入怎么判斷日期格式的單元格?Excel中的日期格式,如2009-12-24,當(dāng)轉(zhuǎn)換為數(shù)字格式時(shí),將變?yōu)?0171。當(dāng)用Java處理它時(shí),它也將讀取40171。如果使用PO
java的poi的excel導(dǎo)入怎么判斷日期格式的單元格?
Excel中的日期格式,如2009-12-24,當(dāng)轉(zhuǎn)換為數(shù)字格式時(shí),將變?yōu)?0171。當(dāng)用Java處理它時(shí),它也將讀取40171。如果使用POI處理Excel中的日期類型單元格,如果僅判斷它是否為日期類型,則最終會(huì)將其作為數(shù)字類型進(jìn)行處理。正確的方法是判斷單元格類型是否為數(shù)字,然后判斷單元格是否為日期格式。如果是,請(qǐng)創(chuàng)建一個(gè)日期格式,然后以該日期格式顯示單元格的內(nèi)容。如果單元格不是日期格式,可以直接獲取數(shù)值。具體代碼如下:if(0==單元格.getCellType()){//如果(HSSFDateUtil.isCellDateFormatted格式(單元格)){//用于轉(zhuǎn)換為日期格式date D=cell.getDateCellValue()DateFormat formatter=new SimpleDateFormat(“yyy-MM-dd HH:MM:ss”)str[k]=格式化程序.format(d) }否則{//Decimalformat DF=new十進(jìn)制格式測(cè)向格式( cell.getNumericCellValue())}
如果單元格為文本格式,則單元格內(nèi)容將被視為字符串。
例如,如果單元格的內(nèi)容是“123”,則“123”是一個(gè)字符串,不能在數(shù)學(xué)意義上進(jìn)行加、減、乘或除。
如果是常規(guī)格式,系統(tǒng)將根據(jù)單元格中的內(nèi)容自動(dòng)確定數(shù)據(jù)類型。
例如,如果單元格內(nèi)容為“2011-10-17”,excel將自動(dòng)將其識(shí)別為日期類型。如果是文本格式,excel將僅將其視為字符串。