- PR -

POIのセルスタイルの設定について

1
投稿者投稿内容
未記入
ベテラン
会議室デビュー日: 2005/04/20
投稿数: 69
投稿日時: 2006-08-16 18:06
いつもお世話になります。

POIライブラリを用いて、Javaからエクセルにデータを書き込んでいます。

1テンプレートファイルを作成
2テンプレートファイルをコピーして新規Bookを作成
3新規Bookにデータを書き込む

という流れです。

テンプレートのあるセルの書式設定で、表示形式を数字の3桁カンマ区切りに設定します。
このセルのスタイルを取得して、新規Bookのセルに適応させます。
適応させたセルにデータを書き込みます。

10000と書き込むとします。
作成された新規Bookを開くと10,000となっていてほしいのですが、
10000の状態で書き込まれています。
セルの書式設定で表示形式を見たところ、カンマ区切りにはなっているのですが…
一度セルをアクティブにし、Enterを押してみるとカンマ区切りで表示されます。

新規Bookを開いたときにカンマ区切りで表示するには何か設定がいるのでしょうか。
どなたかアドバイスいただけませんか?
han
会議室デビュー日: 2006/09/23
投稿数: 2
投稿日時: 2006-09-23 07:31
はじめまして。

私も現在、同じ現象が発生して困っております。
Excelの書式設定にある表示形式のユーザー定義にあたる部分を
HSSFDataFormatを使って実装したのですが、
同じ現象が発生しました。
生成されたExcelファイルを開きますと、setCellValueで設定したデータが表示され、
ユーザー定義は反映されません。
しかし、セルをアクティブにし、Enterを押すと反映されます。

この現象について、まだ解決してないようなので、
同じスレッドにて失礼させていただきます。
わかる方いらっしゃいましたら、ご回答お願いします。

[ メッセージ編集済み 編集者: han 編集日時 2006-09-24 12:59 ]
han
会議室デビュー日: 2006/09/23
投稿数: 2
投稿日時: 2006-09-24 23:28
自己解決しましたので報告します。

セルに値を設定するsetCellValueの引数に入れる型がよくなかったようです。
setCellValueにはStringの他にDate、Calendar、double、booleanが
設定できるようになっています。
私の場合は、yyyy"年"mm"月""度"というユーザー定義に
String型で"2006/09/01"と設定していたため今回の現象が発生したみたいです。
Calendar型に置き換え設定することで正常に動作しました。

このスレッドをたてていただいた方の場合は、
私同様Stringで値をセットしていたのではないでしょうか。
double型にすると正常動作すると思います。

以上。
1

スキルアップ/キャリアアップ(JOB@IT)