[PHP-users 35804] PHPExcelで「File形式またはファイル拡張子が正しくありません・・・」

daikog2014 daikog2014 @ gmail.com
2014年 6月 3日 (火) 11:12:30 JST


はじめまして。daikog2014と申します。
PHP初心者です。

PHPExcelを使ってテンプレートにMySQLから
抽出したデータを貼り付けてExcelシートをダウンロードするページを
作ろうと考えていますが、Excelにデータを書き込みでERRが出て
困っています。

環境としましては、
OS Windows2008r2
Web IIS7.5
PHP 5.5.11
PHPExcel 1.8.0

で下記ソースをIE11で開こうとすると

「Excelでファイルmyfile.xlsxを開くことができません。
File形式またはファイル拡張子が正しくありません・・・」

と表示されてExcelが開きません。

$objSheet->setCellValue('A10', '444');
の部分をコメントにするとTempSheet1.xlsxがmyfile.xlsxとして表示します。

どこがいけないのでしょうか。

色々探してますが、ヒントが見つかりません。
御教示下さいます様お願い申し上げます。

******** PHPソース ***********

<?php
require_once 'PHPExcel.php';
require_once 'PHPExcel/IOFactory.php';

// エラー出力する場合1 しない場合0
ini_set( 'display_errors', 1 );

//ブラウザへ出力をリダイレクト
header('Content-Type:
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="myfile.xlsx"');
header('Cache-Control: max-age=0');

//テンプレートの読み込み
$objReader = PHPExcel_IOFactory::createReader("Excel2007");
$xl = $objReader->load("TempSheet1.xlsx");

//A10に書き込み
$objSheet->setCellValue('A10', '444');

//Excel2007形式で保存
$writer = PHPExcel_IOFactory::createWriter($xl, 'Excel2007');
$writer->save('php://output');
exit;
?>
******** PHPソース ***********

以上、よろしくお願い申し上げます。
##############
By daikog2014
##############


PHP-users メーリングリストの案内