web-dev-qa-db-ja.com

POIを使用した数値形式のExcelセル値の設定

数値データをExcelシートに保存したい。
数値データは、my Javaコードの文字列型で表されます。
キャストせずに数値として設定することはできますか?

次のコードを試しましたが、数値型に変換されませんでした(Excelで、数値がテキストとして保存されているという警告が表示されます...)

HSSFCell dCell =...
dCell.setCellType(Cell.CELL_TYPE_NUMERIC);
dCell.setCellValue("112.45")
15
omrid

値はdoubleとして指定する必要があります。 ドキュメントによると

setCellValue

public void setCellValue(double value)

セルに数値を設定する

パラメータ

value-このセルに設定する数値。数式の場合は事前計算値を設定し、数値の場合はその値を設定します。他のタイプの場合は、セルを数値セルに変更して、その値を設定します。

だから、それは

dCell.setCellValue(new Double("123"));

OR

dCell.setCellValue(123);  //Remember, the way you did was, you actually passed a string (no quotes)
24

これにはBig Decimalを使用しましたが、

dCell.setCellValue(new BigDecimal("112.45").doubleValue());
8
Kushan

ラッパークラスを使用してみます。

dCell.setCellValue(new Double(112.45));

ところで、次のようにダブルコートの代わりに値を指定するだけで機能します。

dCell.setCellValue(112.45);
2
Arun

古いものですが、それでもこれはNPOIを使用する.NETの誰かを助けるでしょう

dCell.setCellValue(Convert.ToDouble(112.45));

我々が持っています

cell.SetCellType(NPOI.SS.UserModel.CellType.NUMERIC); 

警告は削除されませんが、.netのすべての整数とDouble値をDoubleに変換した後、最初のコードは機能しました

1
Peru