poi公司version:4.1.2
@Deprecated
@Removal(version = "5.0")
void setCellType(CellType cellType)
正如细胞类文档中所指出的,它说 setCellType()
已弃用,建议使用 setCellFormula()
实现相同的功能,但没有给出一个如何实现的例子。
问题是:如何使用 setCellFormula()
实现与…相同的功能 setCellType(CellType.STRING)
?
poi公司version:4.1.2
@Deprecated
@Removal(version = "5.0")
void setCellType(CellType cellType)
正如细胞类文档中所指出的,它说 setCellType()
已弃用,建议使用 setCellFormula()
实现相同的功能,但没有给出一个如何实现的例子。
问题是:如何使用 setCellFormula()
实现与…相同的功能 setCellType(CellType.STRING)
?
2条答案
按热度按时间ui7jx7zq1#
单元格类型取决于单元格内容。这就是为什么不赞成设置独立于单元格内容的单元格类型。
所以
使用显式
setCellFormula(String)
,setCellValue(...)
或者setBlank()
以得到期望的结果。指以下各项:
Cell.setCellFormula
将始终导致单元格具有单元格类型FORMULA
. 或者是细胞类型ERROR
当公式导致错误时。Cell.setCellValue
将导致单元格具有单元格类型STRING
当值为String
,NUMERIC
当值为数字或日期时,或BOOLEAN
当值为boolean
.Cell.setBlank
将始终导致单元格具有单元格类型BLANK
.所以不需要显式设置单元格类型。
另请阅读cell.setcelltype的以下部分:
... 如果您要做的是为数值单元格获取字符串值,请停止!这不是办法。相反,要获取数值、布尔值或日期单元格的字符串值,请使用
DataFormatter
相反。。。所以不要使用
Cell.setCellType
至STRING
以获得String
. 而是使用dataformatter执行此操作:0pizxfdo2#
你不能使用
setCellFormula()
模仿setCellType(CellType.STRING)
,但您可以使用setCellValue(String someString)
将单元格类型设置为CellType.STRING
同时设置单元格值。换言之
setCellFormula()
,setCellValue()
,和setBlank()
您不仅要设置单元格内容,而且在同一类型中,您还可以固有地设置单元格类型。如果您使用这些方法中的任何一种,并调用getCellType()
之后,您将获得正确的单元格类型。不应该有一个用例,在这个用例中设置一个单元格类型,但不设置任何单元格内容。