数値データをExcelシートに保存したい。
数値データは、my Javaコードの文字列型で表されます。
キャストせずに数値として設定することはできますか?
次のコードを試しましたが、数値型に変換されませんでした(Excelで、数値がテキストとして保存されているという警告が表示されます...)
HSSFCell dCell =...
dCell.setCellType(Cell.CELL_TYPE_NUMERIC);
dCell.setCellValue("112.45")
値は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)
これにはBig Decimalを使用しましたが、
dCell.setCellValue(new BigDecimal("112.45").doubleValue());
ラッパークラスを使用してみます。
dCell.setCellValue(new Double(112.45));
ところで、次のようにダブルコートの代わりに値を指定するだけで機能します。
dCell.setCellValue(112.45);
古いものですが、それでもこれはNPOIを使用する.NETの誰かを助けるでしょう
dCell.setCellValue(Convert.ToDouble(112.45));
我々が持っています
cell.SetCellType(NPOI.SS.UserModel.CellType.NUMERIC);
警告は削除されませんが、.netのすべての整数とDouble値をDoubleに変換した後、最初のコードは機能しました