[PHP-users 12638] Re: Spreadsheet_WriteExcel を使ったexcel出力でのセル内改行の方法?

Mashiki php-users@php.gr.jp
2003年1月20日 10:26:07 +0900


 Mashikiです。
>Linux環境のWEB/DBサーバにおいて、
>PostgreSQLのデータをPHP経由でMs-Excel形式にしてダウンロードさせる
>というアプリをつくるべく奮闘しておりますが、
>細かいところで詰まっております。
 :
 :
>UNIX環境でもphpでExcel出力できるものを探すのは苦労しました。
>> Spreadsheet_WriteExcel
> http://phpclasses.psbweb.com/browse.html/package/767.html
>という、結構イケてそうな(気がする)ライブラリを見つけたので、
>それを使おうとしております。

面白いライブラリを見つけましたね。
僕も早速、入れてみました。
>$ php test.php > test.xls 
>>としてできあがったファイルをEXCELで見ると、
>B3のセルの改行文字が化けてしまいます。
>(しろいしかくみたいな文字に・・・)

プログラム的には、
> $worksheet1->write_string(2, 1, "d\nef");
> // B3のセルに"d(セル内改行)ef"という文字を入れたい

でいいみたいです。Excelには正しくデータが渡っています。
実際、Excelのセルの書式設定で「折り返して全体を表示する」
を有効にすればキレイに改行されます。
またALT+Enterで直接改行を手入力し、このプロパティーを無効に
しても同じしろいしかくが再現できますね。
>「エクセルのセル内改行は、0x0aコードがうんぬん・・・」
>という情報はgoogle検索のいろんな結果でみかけたのですが、
>自分の上記のコードにどう反映させればよいのか
>いまいちつかめませんでした。

問題は「セルの書式設定をPHPからどうに行うか」ではないで
しょうか。
このライブラリ時間があればもっと掘ってみたい...

AltStyle によって変換されたページ (->オリジナル) /