質問編集履歴

1 ソースコード修正しました。createReaderfor → createReader

退会済みユーザー

退会済みユーザー

2015/07/06 15:52  投稿

PHPExcelでHTMLファイルを読み込む方法
PHPExcelについての質問です。
HTMLからExcel2007形式のファイルを作ろうとしているんですが、
出力が空のExcelファイルになってしまいます。
下のような処理でファイルを出力しています。
```lang-ここに言語を入力
               $tempfilename = time().".html";
               file_put_contents($tempfilename, $html);//←テンプレートエンジンから吐き出したHTMLソース
               $reader = PHPExcel_IOFactory::createReaderfor("HTML");
               $reader = PHPExcel_IOFactory::createReader("HTML");
               $content = $reader->load($tempfilename);
               Header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
               Header("Content-Disposition: attachment; filename=tesxt.xlsx");
               Header('Cache-Control: public');
               Header('Pragma: public');
               $writer = PHPExcel_IOFactory::createWriter($content, 'Excel2007');
               $writer->save('php://output');
               exit;
```
やりたいこととしては、
1.SmartyテンプレートからHTML吐き出す
2.吐き出したHTMLをPHPExceオブジェクトにする
3.PHPExcelオブジェクトをExcelファイルとして吐き出す
なんですが
処理を追ってみたところ
HTMLからPHPオブジェクトを作るところ(2のところ)で失敗しているようです。
(エラーにはなっておらず、load()のところで空のExcelファイルが生成されてるようです)
何が原因かわからない(使い方もふくめてわかってません)ので、
ご教示願います。
  • PHP

    24512 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る