###前提・実現したいこと
PHPEXCELを使用してxlsx(2007以降形式)のファイルを出力したいと考えております。
###発生している問題・エラーメッセージ
PHPEXCELを使用してxlsxファイルを作成後、作成されたファイルを開くと
「一部の内容に問題が見つかりました。可能な限りの内容を・・・・」
と出て、「はい」をおすと、「削除されたレコード:/xl/workbook.xml テーマ(ブック)」と表示され、データは表示されるのですが、警告・エラーがでてしまい困っています。
terateilにのっている過去記事等も見させていただきましたが、
//PHPExcelファイルの読み込み
include_once ( DIR . '/Classes/PHPExcel.php');
include_once ( DIR . '/Classes/PHPExcel/IOFactory.php');
// Excel2007形式(xlsx)テンプレートの読み込み
$reader = PHPExcel_IOFactory::createReader('Excel2007');
$excel = $reader->load( DIR . '/template.xlsx' );
// シートの設定
$excel->setActiveSheetIndex(0);//何番目のシートか
$sheet = $excel->getActiveSheet();//有効になっているシートを代入
// セルに値を入力
$sheet->setCellValue('A8', 'こんにちは!');//A1のセルにこんにちは!という値を入力
// Excel2007形式で出力する
$writer = PHPExcel_IOFactory::createWriter($excel, 'Excel2007');
$file_name = 'output.xlsx';//ダウンロードさせるファイル名
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');//ダウンロードの指示
header("Content-Disposition: attachment; filename=$file_name");//ダウンロードするファイル名
$writer->save('php://output');
exit; // これ入れてください
上記ソースコードで問題なく動くという意見がみられました。
実際に上記ソースコードを試しましたが、問題は解決しませんでした。
セルに埋め込む値をEUCからUTF8に度々変換して出力しておりますが、文字コード等関係はあるのでしょうか。
###該当のソースコード
業務の性質上ソースコードを載せることができません(小規模な会社ですが、情報の持ち出しはNGとされているため)
###試したこと
文頭でも述べましたが、terateilの過去記事や、excel特有のエラーを調べたり、phpexcelの仕様も確認したりしました。
しかし、なかなか目的とする回答がみつけられなかった次第です。
###補足情報(言語/FW/ツール等のバージョンなど)
開発言語:PHP
PHPEXCELバージョン:1.8.0
出力excel形式:xlsx
実際にexcelを開くofficeのバージョン:2013
長くなりましたが、こちらの現象にこころあたりのあるかたがいらっしゃいましたら、ご回答いただけると非常に助かります。
よろしくお願いします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/11 03:42
2017/02/11 06:45