當前位置:
首頁 >
POI读取Excel内容格式化
發布時間:2025/3/17
40
豆豆
生活随笔
收集整理的這篇文章主要介紹了
POI读取Excel内容格式化
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在用POI讀取Excel內容時,經常會遇到數據格式化的問題.
比如:數字12365會變為12365.0;字符串數字123也會變為123.0,甚至會被變為科學計數法.另外日期格式化也是一個頭疼的問題.其實最希望的方式是Excel是什么,那POI取出來就是什么,不要搞任何轉換.
網上搜羅各種格式化方式后,找到最滿意的一種:
import org.apache.poi.hssf.usermodel.HSSFDataFormatter; import org.apache.poi.hssf.usermodel.HSSFDateUtil;public Object getValue(Cell cell) {if (cell == null)return "";//如果是日期類型(POI會把日期轉數字)if (cell.getCellType() == cell.CELL_TYPE_NUMERIC) {//Check if a cell contains a dateif (HSSFDateUtil.isCellDateFormatted(cell)) {Date d = HSSFDateUtil.getJavaDate(cell.getNumericCellValue());return new SimpleDateFormat("yyyy-MM-dd").format(d);}}//如果是中文類型的日期(轉為xxxx-xx-xx格式)
// m月d日 :dataFormat=58,dataFormatString=reserved-0x1c
//yyyy年m月d日 :dataFormat=31,dataFormatString=reserved-0x1f
if (cell.getCellStyle().getDataFormat() == 58 || cell.getCellStyle().getDataFormat() == 31)
return DateUtil.date2string(cell.getDateCellValue(), DateUtil.YYYY_MM_DD); HSSFDataFormatter df = new HSSFDataFormatter(); return df.formatCellValue(cell); }
這樣,拿到的數據就都是原來的樣子了
?
轉載于:https://www.cnblogs.com/KeepYongth/p/6232106.html
總結
以上是生活随笔為你收集整理的POI读取Excel内容格式化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: windows下使用ffmpeg进行视频
- 下一篇: 记录cocos2d-x3.0版本号更改内