2014-02-25 42 views
1

在閱讀一個excel的小區值i中使用的代碼段tostring和getstringcellvalue有什麼區別?

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

並且還

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

都返回相同的數據(我的意思是單元格的值),但是這些之間的差兩個?

回答

0

同時看到

getCell的基本定義(1)的ToString

public String toString()

返回該對象的字符串表示。通常,toString方法返回一個「文本表示」該對象的字符串。結果應該是一個簡潔但內容豐富的表述,對於一個人來說很容易閱讀。建議所有子類重寫此方法。

類Object的toString方法返回一個字符串,其中包含對象爲實例的類的名稱,符號字符「@」和對象的哈希代碼的無符號十六進制表示形式。換句話說,此方法返回一個字符串等於的值:

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

返回:

對象的字符串表示。

getCell(1).getStringCellValue()

獲取單元格的值作爲字符串

對於數值細胞,這將拋出異常。對於空白單元格,這將返回一個空字符串。對於不是字符串公式的formulaCell,這會引發異常。

返回: 細胞作爲字符串

例如值:如果單元格包含日期字段,並使用toString()你可能會得到正確的日期格式的值,但從來沒有得到任何的異常,而在第二種情況,你會得到IllegalArgumentException