- - PR -
POIの書式設定で表示形式を数値に設定したいのですが・・
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-02-06 22:23
はじめまして、いのたかといいます。
現在、POI(バージョン2.5.1)を使用して 以下のようにエクセルにデータを書き込んできます。 A列 B列 男 45.1 女 54.9 現在は以下のようなコードでB列に書式を設定しています。 String value = "45.1"; myStyle = wb.createCellStyle(); myStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("0.00")); cell.setCellType(HSSFCell.CELL_TYPE_NUMERIC); cell.setCellValue(value); cell.setCellStyle(myStyle); 書き込みされたエクセルを開きエクセルの書式設定の表示形式を 見ると、分類が「ユーザ定義」で、種類が「0.00」になります。 これを 分類が「数値」で、小数点以下の桁数が「1」になるように したいのですが、可能でしょうか? | ||||||||
|
投稿日時: 2005-02-07 00:02
半分だけ回答させていただきます。
を
にすれば、少数点1桁になります。 ただおっしゃるとおり、分類は「ユーザ定義」ですけど。 どのような目的で数値にしたいのでしょうか? 「ユーザー定義」の少数点1桁であっても、 sumなどのエクセル関数は使えることを確認しました。 [ メッセージ編集済み 編集者: ピンクの恐竜 編集日時 2005-02-07 00:02 ] | ||||||||
|
投稿日時: 2005-02-07 15:35
ピンクの恐竜さん
返答ありがとうございます。 >どのような目的で数値にしたいのでしょうか? 書き出した値をエクセルのグラフの元データとしてグラフを作成しようと 思っています。 POIで書き出しデータをそのままデータ範囲としてグラフを作成しても うまく表示できないのですが、 POIで書き出したデータのB列(数値が入っている列)をキーボードから 手入力してからグラフを作成するとうまくグラフが表示されます。 エクセルの表示形式は関係なかったようです。 POIで書き出した値とキーボードから手入力した値って違うんですかね? 面倒ですが、エクセルのマクロでB列の値を再セットしてから グラフを作成するようにしようと思います。 [ メッセージ編集済み 編集者: いのたか 編集日時 2005-02-07 15:36 ] | ||||||||
|
投稿日時: 2005-02-07 20:49
私の環境ではPOIで出力した数値を元データとして
グラフの作成が行えましたよ。
を
としてみてください。 いのたかさんのソースですと valueの値がStringになってますので、 出力形式も文字列としてExcelに出力されてしまいます。 ただし今回の修正を行ったとしても 分類は「ユーザ定義」になります。 ただ、いのたかさんがやりたいことは実現できると思います。 あとグラフを作成したいのであればjFreeChartなるライブラリもあります。 よろしければ参考までに。 [ メッセージ編集済み 編集者: ピンクの恐竜 編集日時 2005-02-08 09:12 ] |
1