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

daikog2014 daikog2014 @ gmail.com
2014年 6月 3日 (火) 21:19:16 JST


daikog2014と申します。

nakajiさん>お世話様です。
ご教示賜りました内容で解決しました。

基本的な所がわかってない為と言うことですね。

有難う御座いました。
助かりました。

##############
By daikog2014
##############

2014年6月3日 13:45 nakaji <ideabox_hot @ hotmail.com>:
> nakajiともうします
>
>> どこがいけないのでしょうか。
>>
>> 色々探してますが、ヒントが見つかりません。
>> 御教示下さいます様お願い申し上げます。
>>
>
> たぶん、出力されたファイルの中にはエラーが出てるんじゃないかと思うので、
> メモ帳などで見てみるといいと思います。
>
>> <?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');
>
> headerはなんとなく一番最初に宣言したい気がするので、<?phpの後に置きたい
> 気分です。その後でrequireすると気分が良いです。
>
>>
>> //テンプレートの読み込み
>> $objReader = PHPExcel_IOFactory::createReader("Excel2007");
>> $xl = $objReader->load("TempSheet1.xlsx");
>
> ここはシンプルに
>  $xl = PHPExcel_IOFactory::load("./TempSheet1.xlsx");
> で良いんじゃないかと思います。
>
>> //A10に書き込み
>> $objSheet->setCellValue('A10', '444');
>
> 問題はここで、$objSheetというオブジェクトが突然出てきているのでエラーを
> 吐いているんだと思います。$xlのアクティブなシートをgetしてやればいいので
> $objSheet = $xl->getActiveSheet();
> を直前に入れてやればいいのでは。
>
>>
>> //Excel2007形式で保存
>> $writer = PHPExcel_IOFactory::createWriter($xl, 'Excel2007');
>> $writer->save('php://output');
>> exit;
>> ?>
>> ******** PHPソース ***********
>
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://oldwww.php.gr.jp/php/novice.php3


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