繁体   English   中英

无法从 excel 单元中获取 boolean 值

[英]Cannot get boolean value from excel cell

您好,我在尝试从 excel 文件访问 boolean 值时遇到错误。

final Cell enabledCell = row.getCell(6);
enabledCell.getBooleanCellValue() // this throws an exception

java.lang.IllegalStateException: Cannot get a BOOLEAN value from a STRING cell

在 excel 文件中,我刚刚将“TRUE”和“FALSE”写为第 6 列中的值,但不知何故,它们被视为字符串而不是布尔值

本地化 Excel 应用程序中的 Boolean 值也已本地化。 例如,在我的德语 Excel boolean 值是WAHRFALSCH 如果我使用德语 Excel GUI 将TRUEFALSE放入单元格,那么这不是boolean 值而是文本字符串。

所以在获取单元格值之前总是需要检查CellType 或者使用DataFormatter始终获取与单元格类型无关的字符串值。

两者都显示在Busy Developers' Guide to HSSF and XSSF Features->Getting the cell contents中。

此外,您可能会得到错误的单元格。 Row.getCell中, int cellnum是从 0 开始的。 A列是cellnum 0。所以cellnum 6 是G列,这是第 7 列而不是第 6 列。 但那是次要的。 主要是需要在获取单元格值或使用DataFormatter之前检查CellType

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM