Index > jakarta-POIを使ってエクセルデータを生成したら文字化け(poi,java,unicode)
Fri, August 17, 2007

{update:2009-08-17}

jakarta-POIを使ってエクセルデータを生成したら文字化け(poi,java,unicode)

2009-08-17 追記

最新のPOI 3.2(poi-bin-3.2-FINAL-20081019) を本日使ったところ、setEncoding() メソッドはなくなっていました。 どうやらsetEncoding()でエンコードを指定しなくても日本語が普通に使えるようです。

POI を使えば(CSVを経由して処理する場合と違って) 文字コードのことを気にしなくて済む、と思い込んでいたのだが、 それは、既存のエクセルデータを読み取る場合の話で、エクセルデータを生成する場合は、 明示的にエンコードを指定してやらないと、 文字化けしてしまうことが判明。

記述自体は簡単。

HSSFCell cell=...
cell.setEncoding(HSSFCell.ENCODING_UTF_16);

のようにセルにエンコードを指定してやればよい。

 Twitter
follow me on Twitter
 Categories