Excel の数値セル値を読み取っているとき、小数で出力を取得しています。例: 79 は 79.0、0.00 は 0.0 と読みます。私が書いたアプリケーションのコードは次のとおりです。
int type = cell.getCellType();
if (type == HSSFCell.CELL_TYPE_NUMERIC)
System.out.println(cell.getNumericCellValue());
Excel の数値セル値を読み取っているとき、小数で出力を取得しています。例: 79 は 79.0、0.00 は 0.0 と読みます。私が書いたアプリケーションのコードは次のとおりです。
int type = cell.getCellType();
if (type == HSSFCell.CELL_TYPE_NUMERIC)
System.out.println(cell.getNumericCellValue());
私はこれがうまくいくとは100%ではありませんが、あなたが探しているのはDecimalFormatだと思います。
Apache POI を使用していると思います。
sで遊ぶことを検討する必要がありDataFormat
ます。以下は、非常に最小限のドラフト コードです。
double
それ以外の場合、ワークブックのデータに一貫性がある場合は、返されたgetNumericCellValue
をに丸めることができますint
。
System.out.println((int)Math.round(cell.getNumericCellValue()));
それでも問題に直面している人々は、これを使用できます https://poi.apache.org/apidocs/dev/org/apache/poi/ss/util/NumberToTextConverter.html
NumberToTextConverter.toText(cell.getNumberiCellValue())
次のように DataFormatter を使用すると、セルのフォーマットが自動的に検出され、文字列出力が生成されます。
DataFormatter formatter = new DataFormatter();
String df2 = formatter.formatCellValue(cell);