PHPExcel プログラムを作成した後、最後のステップはワークシートを保存することです。これを行うには、Excel 2007 でファイルを生成するようにこれらのルールを適用します。
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="workbook1.xlsx"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
Excel2007 ファイルを取得する代わりに、任意の種類のブラウザーでの出力は次のようになります。
07:31:12 新しい PHPExcel オブジェクトを作成します 07:31:12 プロパティを設定します 07:31:12 データを追加します 07:31:12 シートの名前を変更します 07:31:12 Excel2007 形式に書き込みます PKæ;È< —![[Content_Types] .xml”MNã0…÷=…å-Jܲ@%í‚Â*Q`ìIcÕ±-{úw{&I ˆE j7±"û½oüg÷œ%”NKë”ü‰Ï¦£by‰]*y„Hª† F¦Üp4SùØH¤ß¸Aªµ\¸ï„òÁa†ŸŽXñJD£-dÄÙHì .....
色々なブラウザで試してみましたが同じ結果です。一方、以下の行でファイルを保存すると、正常に動作します。
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('/usr/local/myWorkbooks/workbook1.xlsx');
ブラウザで機能しない理由はありますか? よろしくお願いいたします。