解決POI中DateUtil.isCellDateFormatted(Cell cell)不能判斷中文日期的問題

小溪潺潺發表於2012-06-12
根據客戶提供的Excel,在匯入日期資料時,發現獲得的值是一串數字。客戶設定的日期格式為yyyyy年MM月,當把日期格式設定為yyyy-MM時,就能夠正確讀取。我們用得是POI3.6,方法:org.apache.poi.ss.usermodel.DateUtil.isCellDateFormatted(Cell cell)。呼叫時總是返回false,經跟蹤原始碼發現只要含有中文時間單位就不行(例如含有“年”或“月”等時間單位),故修改,增加了對中文時間單位的過濾,經測試判斷正確。

方法:DateUtil.isADateFormat(int formatIndex, String formatString)
增加程式碼內容:
fs = fs.replaceAll("[\"|\']","").replaceAll("[年|月|日|時|分|秒|毫秒|微秒]", "");
附件為修改之後的可執行程式碼!

相關文章