3

Excel の数値セル値を読み取っているとき、小数で出力を取得しています。例: 79 は 79.0、0.00 は 0.0 と読みます。私が書いたアプリケーションのコードは次のとおりです。

int type = cell.getCellType();
if (type == HSSFCell.CELL_TYPE_NUMERIC)
  System.out.println(cell.getNumericCellValue());
4

5 に答える 5

1

私はこれがうまくいくとは100%ではありませんが、あなたが探しているのはDecimalFormatだと思います。

于 2013-05-10T13:08:08.857 に答える
1

Apache POI を使用していると思います。

sで遊ぶことを検討する必要がありDataFormatます。以下は、非常に最小限のドラフト コードです。

doubleそれ以外の場合、ワークブックのデータに一貫性がある場合は、返されたgetNumericCellValueをに丸めることができますint

System.out.println((int)Math.round(cell.getNumericCellValue()));
于 2013-05-10T13:08:52.087 に答える
1

それでも問題に直面している人々は、これを使用できます https://poi.apache.org/apidocs/dev/org/apache/poi/ss/util/NumberToTextConverter.html

NumberToTextConverter.toText(cell.getNumberiCellValue())
于 2020-10-08T11:49:38.033 に答える
0

次のように DataFormatter を使用すると、セルのフォーマットが自動的に検出され、文字列出力が生成されます。

                    DataFormatter formatter = new DataFormatter();
                    String df2 = formatter.formatCellValue(cell);
于 2014-08-13T03:22:07.690 に答える