[英]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 值是WAHR
和FALSCH
。 如果我使用德语 Excel GUI 将TRUE
或FALSE
放入单元格,那么这不是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.