HSSF POI:如何知道单元格中的数据是否为类型日期?

Abh*_*ngh 8 java poi-hssf apache-poi

目前我的代码为

bean.setREPO_DATE(row.getCell(16).getDateCellValue());
Run Code Online (Sandbox Code Playgroud)

如果单元格在excel中格式化为日期,它可以正常工作.

但是它也会转换一些整数或长整数,如1234或5699.我也知道这背后的原因.

但是我想在执行上面的行之前应用检查.像这样的东西

if(row.getCell(16).isOfDateFormat){
bean.setREPO_DATE(row.getCell(16).getDateCellValue());
} 
Run Code Online (Sandbox Code Playgroud)

请指导我..

提前致谢 !

new*_*ser 16

试试这个,

使用 import org.apache.poi.ss.usermodel.DateUtil;

if(DateUtil.isCellDateFormatted(cell))
   {
       cell.getDateCellValue();
   }
Run Code Online (Sandbox Code Playgroud)

  • java.lang.IllegalStateException:如果单元格类型为字符串,则无法从字符串单元格获取数字值 (2认同)
  • 在检查它是日期之前,您需要检查它是否是数字。判断一个数字是日期还是数字的唯一方法是查看其样式。但你必须首先确保它是一个数字。来自我类似[问题]的答案。作者:真实怀疑论者。(stackoverflow.com/questions/60155480/…)。有人可以编辑此内容,以便“问题”一词指向我的问题。@瑟松 (2认同)