[PHP-users 27412] Re: Spreadsheet_Excel_Writer の mergeCells について
TAKAGI Masahiro
matakagi @ osk2.3web.ne.jp
2005年 11月 8日 (火) 09:15:03 JST
高木です。
At Mon, 7 Nov 2005 11:58:34 +0900 (JST),
MEGUMI Yoshinari wrote:
>
> 恵と申します。
> (以前質問した、「Spreadsheet_Excel_Writer の setColumn
> の幅指定について」問題は、結局、手段が無かったので、Arial
> から逆算して数値を導き出しました。)
>
お役に立てず、申し訳ないです……。
> 今回は、Spreadsheet_Excel_WriterのmergeCellsについて質問
> があります。
>
> 通常、Excelなどでセルの結合を行うと、セルが結合され、か
> つ、記入された文字列は、結合されたセルの中央に配置されま
> す。
>
> 他方、Spreadsheet_Excel_WriterのmergeCellsでは、セルはマ
> ージされるものの、writeで記入するテキストは、マージした
> 中央に配置されること無く、指定されたセルに、通常通り配置
> されます。
> (作成されたExcelファイルで、マージしたセルの書式設定を
> 見ても、「配置」−「文字の制御」−「セルを結合する」にチ
> ェックはついていません。)
>
> mergeCellsで、テキストをマージしたセルの中央(書式設定ど
> おり)に配置するにはどうすればよろしいのでしょうか?(も
> しくは0.8betaで発展途上なので、現状は無理なのでしょうか
> ?)
>
こちらが参考になるのではないでしょうか?
http://pear.php.net/bugs/bug.php?id=1239
上のページの最後のコメントにあるサンプルコードを私の環境で動かしてみた
ところ、Excel2002 上で期待通りの結果が表示されることを確認しました。
要は
・setAlign('center') を指定してテキストを write する
・その後で mergeCells する
という順序で行わないといけないということのようです。
--
高木 正弘 mailto:matakagi @ osk2.3web.ne.jp
PHP-users メーリングリストの案内