9

有没有办法确定单元格是否是日期?我知道 style.getDataFormatString() 但这对我没有帮助,因为我无法确定格式化是否适用于日期。

4

2 回答 2

13

如果您使用的是 XSSF UserModel,那么您需要DateUtil.isCellDateFormatted(Cell) - 这将返回一个布尔值,告诉您单元格的格式字符串是否代表数据。

如果您不了解低级别的 XML 内容,则需要DateUtil.isADateFormat(int,String)。样式 ID 来自单元格 xml。您必须从样式表中取出样式字符串,这是一个不同的包部分。虽然有加载的助手

您可能想查看Tika 的 XSSFExcelExtractorDecorator以获取后者的示例 - 它从事件解析中格式化单元格。

于 2011-07-13T10:52:36.720 回答
3

cell.getCellTypeEnum() == CellType.NUMERIC && DateUtil.isCellDateFormatted(cell)

于 2017-09-05T09:06:53.913 回答