tostring和getstringcellvalue有什么区别?

时间:2014-02-25 11:55:20

标签: apache selenium-webdriver apache-poi

在读取excel的单元格值时,我使用了代码段

cellValue=wb.getSheet(sheetName).getRow(rowNumber).getCell(cellNumber).getStringCellValue();

以及

`cellValue=wb.getSheet(sheetName).getRow(rowNumber).getCell(cellNumber).toString();`

都返回相同的数据(我的意思是单元格的值),但这两者之间有什么区别?

1 个答案:

答案 0 :(得分:0)

参见两者的基本定义

<强> getCell(1)的ToString

public String toString()

返回对象的字符串表示形式。通常,toString方法返回一个“文本表示”此对象的字符串。结果应该是一个简洁但信息丰富的表示,便于人们阅读。建议所有子类都覆盖此方法。

类Object的toString方法返回一个字符串,该字符串由对象为实例的类的名称,符号字符“@”和对象的哈希码的无符号十六进制表示组成。换句话说,此方法返回一个等于值的字符串:

getClass().getName() + '@' + Integer.toHexString(hashCode())

返回:

对象的字符串表示。

<强> getCell(1).getStringCellValue()

获取单元格的值作为字符串

对于数字单元格,这将引发异常。对于空白单元格,这将返回一个空字符串。对于不是字符串公式的formulaCell,这将引发异常。

返回: 单元格的值为字符串

例如:如果单元格包含日期字段,并且您使用toString(),您可能会获得正确的日期格式化值,但永远不会得到任何异常,而在第二种情况下,您将获得IllegalArgumentException