for文の中でcellstyleを設定したいです。
apache poiにて、createCellStyleを行いstyleを設定したいのですが、
一定回数以上CreateCellStyle()を行うとStyleが適用されなくなります。
該当のソースコード
Java
1 for (int i = 0; i < 100; i++){ 2 HSSFCell cell = row.createCell(i); 3 HSSFCellStyle cs_header = m_workbook.createCellStyle(); 4 cs_header.setBorderLeft((short)2); 5 cs_header.setBorderTop((short)2); 6 cs_header.setBorderRight((short)2); 7 cs_header.setBorderBottom((short)2); 8 cs_header.setWrapText(true); 9 cell.setCellStyle(cs_header); 10 }
試したこと
・Style4000制限
・cloneStyleFrom(){もしかしたら使い方がおかしいかもしれませんが・・。}
上記2点は未関係でした。
補足情報(FW/ツールのバージョンなど)
org.apache.poi_3.9.0.v201405241750.jar を使用
cs_headerの作成と初期化をループの外に出せばいいのでは?
>saka1029 ありがとうございます。しかし原因がいまいちわかりません。。毎回初期化してはダメなのでしょうか?
また、実際のコードではcache機構で制御しているので、ループ外に出すことはちょっと難しいです。createCellStyle()を連続で行うとダメな原因が知りたいです。
>saka1029 ありがとうございます。こちら拝見したのですが、4000制限ですね。現ソースですと、100程度しかSytleを設定しておらず、吐き出したExcelを見ることも可能です。。しかしStyleが適用されなくなってしまうという現象です。
あなたの回答
tips
プレビュー