« 複製 | トップページ | 看板 »

2006年12月12日 (火)

Excel_Reviser

先日、Spreadsheet_Excel_WriterというPHPから動的にExcelを吐けるPEARのパッケージについて書いたのだけど、難点が一つ。

吐き出すExcelのバージョンが古い(5.0/95)のですよ。なので、保存しようとすると「フォーマットが古いでっせ」と警告が出て、ユーザに優しくない。
setVersion という暫定的なメソッドもあるのだけど、これを使うと日本語が文字化けする。それに印刷範囲指定と同時に使うとExcelがCrashする(ぉぃぉぃ

そんなこんなでフラフラしていたら、Excel_Reviser というものに遭遇。要はExcelのファイルをテンプレートとして、データを追加したりすることが出来るもの。もちろんバージョンは新しいファイルを吐くし、日本人が作っているのでその辺りも問題なさそう。

開発者様がフォーラムを設けていらっしゃるのだけど、登録が必要らしいので、こちらにメモ書き。

  • 文字はEUC-JPで渡すようにと書かれているのだけど、ローマ数字などCP932的な文字が化けてしまう。今時、多くのデータソースはUTF-8だろうし、最終的には UTF-16LE で吐き出すみたいなので、内部のEUC-JPをUTF-8に全置換して利用
  • $filename="test.xls"; とファイル名をハードコードしてある部分をコメントアウト
  • _addString 内の if (($refrow != null) && ($refcol != null)) { の部分で、両方とも0の場合はelseに行ってしまうので、refを設定する場合は少なくとも片方を0以外(左上端のセル以外)に設定した方が良い

それにしても素晴らしい。凝った数式の入ったものなどは試していないけど、とりあえずDBの内容をExcelにして出力、といった日報とか帳票的な使い方なら問題ないかと。

|

« 複製 | トップページ | 看板 »

てっく」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/232324/37749411

この記事へのトラックバック一覧です: Excel_Reviser:

« 複製 | トップページ | 看板 »