使用POI對excel表數據進行操作時出現了該問題
使用POI對excel表數據進行操作時出現了該問題,從數據庫導出數據到excel表中,datetime類型的數據以String類型存儲,當對表內的該列數據做修改后,excel將自動修改單元格的格式,從而導致在重新讀取時出現了以上錯誤。解決辦法:
判斷讀取的單元格是否為HSSFCell.CELL_TYPE_NUMERIC類型,然后利用cell.getNumericCellValue(),讀取該單元格的數據。
getNumericCellValue()讀出的數據類型是double型,
因此,需要重新進行數據轉換:HSSFDateUtil.getJavaDate(d).toLocaleString()。其中d為讀出的double類型數據。
至此,則成功的將excel表內的數據讀取出來。
單元格的格式總共有以下幾種:
HSSFCell.CELL_TYPE_BLANK;
HSSFCell.CELL_TYPE_BOOLEAN;
HSSFCell.CELL_TYPE_ERROR;
HSSFCell.CELL_TYPE_FORMULA;
HSSFCell.CELL_TYPE_NUMERIC;
HSSFCell.CELL_TYPE_STRING;