[Seasar-user:13755] [Fisshplate]セルのスタイルのコピーについて
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2008年 4月 15日 (火) 14:29:35 JST
お世話になっております。前田と申します。
JavaからExcelを出力するためにFisshplateを使用しています。
以下のような現象が発生し、原因も特定しました。
これに関してご質問させていただきたく。
現象
セル数の多いExcelを出力すると、「書式を追加できません」
というエラーが発生し、ファイルを開けない。
原因
セルのスタイルを1つ1つのセルに対して作成しているために、
セル数の増加に伴いスタイルの数も増加し、上限を超えるため。
対策
AbstractCellクラスのcopyCellStyleを以下のように変更しました。
protected void copyCellStyle(FPContext context, HSSFCell outCell) {
HSSFCell hssfCell = cell.getHSSFCell();
HSSFCellStyle templateStyle = hssfCell.getCellStyle();
outCell.setCellStyle(templateStyle);
if(isMergedCell){
mergeCell(context);
}
}
上記のように書き直すと、同じスタイルが使用されるため、
書式の上限を超えることはなくなりました。
ご質問内容
スタイルを1つ1つコピーしない場合に、発生する問題、不具合を
ご存知でしたら教えていただきたく。
(私の方では、簡単なExcelで試しただけですが、問題は発生していません)
環境
・Fisshplate 0.1.2
・Excel 2000
よろしくお願いいたします。
Seasar-user メーリングリストの案内