[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 メーリングリストの案内