質問: PHPExcel_IOFactory::createWriter($objExcel, 'Excel2007'); header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header("Content-Disposition: attachment;filename=" . "TestDownload.xlsx"); header("Content-Transfer-Encoding: binary "); $objWriter->save('php://output'); // ← ここの処理でエラーが発生するプログラムが呼ばれます ``` ### 該当のソースコード(エラーのプログラム) ``` class PHPExcel_Shared_XMLWriter extends XMLWriter // ← ここが36行目 { // ← ここが37行目 省略 } ``` ### 試したこと **試したこと1** 以下の記事を参考に、 `yum install php-xml` をやってみましたが、 Mac環境ということもあり、 command not found: yum のエラーが出ます。 2013.09.12 PHPExcelを使ってエクセルを出力 2014.10.10 PHPExcelのXMLWriter.phpエラー **試したこと2** Mac環境なので、 homebrew で試してみましたが、 php-xml はパッケージにないようです。 `brew install php-xml` エラーメッセージ ``` Error: No available formula with the name "php-xml" ==> Searching for a previously deleted formula (in the last month)... Error: No previously deleted formula found. ==> Searching for similarly named formulae... Error: No similarly named formulae found. ==> Searching taps... ==> Searching taps on GitHub... Error: No formulae found in taps. ```
回答: Macだと古いバージョンのPHPにはxmlが入っていないので、対応していませんし、yumコマンドもないので手の打ちようがないようです。なので、xlsファイル形式で保存するように妥協するのがベストかと。 xlsファイルならxmlを使ってないので、保存できたはずです。