NPOIのEXCEL書式設定

NPOIでEXCELの該当のセルに書式設定したとき、想定されたものと違う書式が設定されていて調査した結果わかったこと。

通常、NPOIでEXCELの書式を設定する時、NPOIに用意されている規定の書式じゃない場合CellStyleに

  GetFormat(書式);

の戻り値を設定することでセルの書式を設定できるんだけど、
与えた書式が規定の書式だった場合、規定の書式が登録されている
値が戻り値に設定されていることが期待される。


しかし、与えた書式が規定の書式だった場合、(規定の書式が登録されている値-1)が
戻り値に設定されていることがわかった。
そのため、規定の書式としては、ひとつずれた書式が設定されていることがわかった。
ここはたぶん、

  GetBuiltinFormat(書式);

で、規定の書式なのかどうかを調べてから、GetFormatするのが正しそうだ。
GetBuiltinFormatは、正しい値を返してくれる。