在读取excel的单元格值时,我使用了代码段
cellValue=wb.getSheet(sheetName).getRow(rowNumber).getCell(cellNumber).getStringCellValue();
以及
`cellValue=wb.getSheet(sheetName).getRow(rowNumber).getCell(cellNumber).toString();`
都返回相同的数据(我的意思是单元格的值),但这两者之间有什么区别?
答案 0 :(得分:0)
参见两者的基本定义
<强> getCell(1)的ToString 强>
public String toString()
返回对象的字符串表示形式。通常,toString方法返回一个“文本表示”此对象的字符串。结果应该是一个简洁但信息丰富的表示,便于人们阅读。建议所有子类都覆盖此方法。
类Object的toString方法返回一个字符串,该字符串由对象为实例的类的名称,符号字符“@”和对象的哈希码的无符号十六进制表示组成。换句话说,此方法返回一个等于值的字符串:
getClass().getName() + '@' + Integer.toHexString(hashCode())
返回:
对象的字符串表示。
<强> getCell(1).getStringCellValue()强>
获取单元格的值作为字符串
对于数字单元格,这将引发异常。对于空白单元格,这将返回一个空字符串。对于不是字符串公式的formulaCell,这将引发异常。
返回: 单元格的值为字符串
例如:如果单元格包含日期字段,并且您使用toString()
,您可能会获得正确的日期格式化值,但永远不会得到任何异常,而在第二种情况下,您将获得IllegalArgumentException