java – 以字符串形式从excel单元格读取日期值
发布时间:2020-12-14 05:36:43 所属栏目:Java 来源:网络整理
导读:我使用apache poi库来读取excel文件.我在阅读密码单元时被卡住.如果用户在密码单元格中输入日期,即16/05/2012.我正在读取这个值为“41045”,而值应为“16/05/2012”.这是我的代码: cell = row.getCell(); // date in the cell password '16/05/2012'switch
我使用apache poi库来读取excel文件.我在阅读密码单元时被卡住.如果用户在密码单元格中输入日期,即16/05/2012.我正在读取这个值为“41045”,而值应为“16/05/2012”.这是我的代码:
cell = row.getCell(); // date in the cell password '16/05/2012' switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_STRING: cellValue = cell.getRichStringCellValue().getString(); break; case HSSFCell.CELL_TYPE_NUMERIC: if(cellCount == TEMPLATE_PASSWORD) {// if cell is password cell.setCellType(Cell.CELL_TYPE_STRING); cellValue = cell.getRichStringCellValue().getString(); // value read is 41045 and not "16/05/2012" } break; default: } 有人可以帮忙吗? 谢谢. 解决方法
你在POI寻找的课程是
DataFormatter
当Excel写入文件时,一些单元格存储为文字字符串,而其他单元格作为数字(包括日期)存储.对于后者,表示单元格的浮点值存储在文件中,因此当您向POI请求实际具有的单元格值时. 有时候,特别是当进行文本提取(但并不总是)时,要使单元格的值看起来像在Excel中.并不总是可以在String(例如非完全空间填充)中得到它,但是DataFormatter类可以让你关闭. 另请注意,在Excel中,日期作为自1900年以来的浮点数存储,这就是为什么你看到一个数字不是日期.使用DataFormatter(或类似的)将其呈现为日期 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |