2017-01-04 7 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

ようこそスタックオーバーフロー!私はあなたの質問を編集しました。コードを表示するときに、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には、オブジェクト型のデフォルト/ジェネリック型の戻り値を取得するメソッドはありません。 APIコードを調べても、getCellType()メソッドを使用して戻り整数(たとえばブール値= 4)の値に基づいて、スイッチケースを使用してgetIntegerValueやbooleanなどの特定のメソッドタイプに移動します。私は上記の方法を使用することをお勧めしますし、戻り値の型に基づいてスイッチケースを使用すると、そのgetxxxxCellValue()メソッドを使用します。これは、多くのメソッドでAPIの内部でやっていることです。 – vvtx

関連する問題