2017-01-04 211 views
2
public java.text.Format getDefaultFormat(Cell cell). 

我正在讀取Excel單元格中的值並將其存儲在數據庫中。如何從Apache POI中的Excel中讀取默認的單元格格式?

下面的代碼不起作用,它給出了類型不匹配的錯誤。

userdata.setTaskid((int)(row.getCell(0).getNumericCellValue())); 
System.out.println(userdata.getTaskid()); 
+0

歡迎來到Stack Overflow!我編輯了你的問題。在顯示代碼時,可以通過將它縮進4個空格來將它放在'code markdown'中。在爲問題添加標籤時,請確保它們與問題相關。 「Excel」與這個問題有關,所以我添加了它;春天不是,所以我刪除它。 (如果你不同意,你可以把我的編輯轉回來,順便說一下)。 「apache」標籤僅用於Apache Web服務器。 –

回答

1

以下代碼會給出單元格格式,然後根據返回的整數格式,您可以決定獲取單元格值的方式,例如,或者使用getNumericCelValue或getBooleanCelValue等

int cellType = row.getCell(0).getCellType(); 
  • 空白值= 3
  • 布爾值= 4
  • 錯誤值= 5
  • 式值= 2
  • 數字值= 0
  • 字符串值= 1
+0

我早先使用了上面的邏輯,我得到這個錯誤:無法從文本單元格獲取數值 – NMN

+0

因此,如果您閱讀以下鏈接,我想要讀取默認格式的excel單元格:http://poi.apache.org /apidocs/org/apache/poi/ss/usermodel/BuiltinFormats.html – NMN

+0

該API沒有任何方法來獲取默認/泛型類型的返回值,比如Object類型。即使您查看API代碼,他們也會使用此getCellType()方法,然後基於返回整數(例如,布爾值= 4)值,使用切換案例轉到特定方法類型,如getIntegerValue或boolean。我建議使用上面的方法,然後根據返回類型使用switch case,使用getxxxxCellValue()方法。這是API人員在內部執行的許多方法。 – vvtx

相關問題