[Seasar-user:17332] Re: [Fisshplate]結合セルの自動拡張について
Hidekazu Suzuki
[E-MAIL ADDRESS DELETED]
2009年 4月 28日 (火) 14:44:12 JST
鈴木です。
> なんと!そういう書き方をすると結合が縦に拡張されるとは
> コミッタでも知りませんでした・・・。
以前、使っていたDelphiのExcelテンプレートコンポーネントが
FlexCelというもので
それでセル結合を自動拡張させるときに、そう書いたので
なんとなく同じように書けばいけるかなぁぐらいな感覚だったので
たまたまですね(笑)。
> #deleteRowのようなカスタムタグを作ったとしても書く場所が
> ないのでいかんともしがたい・・・・
そうですね、確かに。
今、気づきました。
> 結合しない形でやるしかアイデアがないです。すみません・・・。
いえいえ、ありがとうございます。
素直に最初にご提示の案でいきたいを思います。
On Tue, 28 Apr 2009 13:37:49 +0900
六 <[E-MAIL ADDRESS DELETED]> wrote:
> 六です。
>
> なんと!そういう書き方をすると結合が縦に拡張されるとは
> コミッタでも知りませんでした・・・。
>
> POIでは結合セルの情報は絶対座標というかなんというか
> 「A2からB3まで」というセル指定で領域を保持しているので
> それをFisshplate内で相対座標に変換して持って、
> 出力時にその相対座標と現在位置を元に都度結合しなおしています。
>
> ループで1行ずつ出力する時に、その行の結合セルの終わり行と
> 次の行の結合開始行が重なるためにどんどん結合が拡張されていってる
> のではないかと思います。
>
> それで、最後の行で1つはみ出るので、POI側の動きで
> テンプレート上にない行が1行追加されるようですね。
>
> #deleteRowのようなカスタムタグを作ったとしても書く場所が
> ないのでいかんともしがたい・・・・
>
> 結合しない形でやるしかアイデアがないです。すみません・・・。
>
> 品目分類名と品目名の関係が親子構造であれば
> 二重ループで先ほど添付したテンプレートでほぼそのまま
> いけるかと思います。indexは明示的に名前をつけた方がいいです。
>
> 親子じゃなくて、フラットに持っている場合は、#varや#execを使って
> OGNLで昔の帳票プログラムのように自前でキーブレイクする処理を
> 書くのがいいかなーと思います。ベタですが。
>
> キーブレイクの例は
> http://fisshplate.sandbox.seasar.org/ja/syntax.html#%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E5%AE%9F%E8%A1%8C
> が参考になればと。
>
> うーむ・・・・こんなんですみません。
>
Seasar-user メーリングリストの案内