PHPからExcelシートを生成できるモジュールとしてというものがあります.
PHPExcelというモジュールの方が有名でかつ,現在もメンテ下にあるようですが,Spreadsheet_Excel_Writerの方は2012年くらいで更新が止まってしまっているようです.
そのせいか,Pearなどでインストールし,Excelシートを作成し,Excel2007以降のバージョンで開こうとすると,「このファイルは破損云々」というエラーが出現し,うまく開くことができません.
Excel2003で開くと問題なく開けるんですけどね.
どうしたもんかと思って色々調べていたところ,依存モジュールのOLEのバグによるものということがわかりました(詳細はこちら).
OLEがインストールされているディレクトリの中にRoot.phpというファイル(私の環境では/usr/share/pear/OLE/PPS/以下)があるので,それを開いて,その623行目
fwrite($FILE, pack("V", 1));
とある部分を
fwrite($FILE, pack("V", $num_sb_blocks));
と書き換えました.
これでExcel2003でも2007でも2010でも2013でも開くことが確認できました.
めでたし.
ただ,どこかのタイミングでPHPExcelに移行しないとなあ,と思ってはいます.