PHPExcelでテンプレートを読み込み、データを出力するように作ったのですが
テンプレートに予めオートフィルタを設定しておくと下記エラーが出ることがわかりました。
手作業でテンプレートのオートフィルタは解除して上書き保存して読み込んでも下記のエラーが出てしまい、
フィルタがかかっているヘッダ行を削除→ヘッダ行を挿入して上書き保存して使用するようにし、
フィルタはプログラム内で設定することで解決はしたのですが、
明確な原因がわかりません。
ご存知の方がいればご教授願います。
PHP Fatal error: Uncaught exception 'Exception' with message 'Invalid cell coordinate シート1!A12' in /home/user/workspace/project/Classes/PHPExcel/Cell.php:508 Stack trace: #0 /home/user/workspace/project/Classes/PHPExcel/Cell.php(545): PHPExcel_Cell::coordinateFromString('?????????!A12') #1 /home/user/workspace/project/Classes/PHPExcel/Writer/Excel2007/Workbook.php(356): PHPExcel_Cell::absoluteCoordinate('?????????!A12') #2 /home/user/workspace/project/Classes/PHPExcel/Writer/Excel2007/Workbook.php(277): PHPExcel_Writer_Excel2007_Workbook->_writeDefinedNameForAutofilter(Object(PHPExcel_Shared_XMLWriter), Object(PHPExcel_Worksheet), 0) #3 /home/user/workspace/project/Classes/PHPExcel/Writer/Excel2007/Workbook.php(82): PHPExcel_Writer_Excel2007_Workbook->_writeDefinedNames(Object(PHPExcel_Shared_XMLWriter), Object(PHPExcel)) #4 /home/user/workspace/project/Classes/PHPExcel/Writer/Excel2007.php(262): PHPExcel_Writer_Excel2007_Workbook->writeWorkbook(Object(PHPExcel)) #5 /home/user/workspace/project/report_out in /home/user/workspace/project/Classes/PHPExcel/Cell.php on line 508
PHP
1include('Classes/PHPExcel.php'); 2include('Classes/PHPExcel/IOFactory.php'); 3 4$objPHPExcel = new PHPExcel(); 5$reader = PHPExcel_IOFactory::createReader('Excel2007'); 6$excel = $reader->load("sample.xlsx"); 7 8$excel->setActiveSheetIndex(0); 9$sheet = $excel->getActiveSheet(); 10 11//データ挿入部分はとりあえずコメントアウトしてあります 12 13$writer = PHPExcel_IOFactory::createWriter($excel, 'Excel2007'); 14$out_file = 'report.xlsx'; 15$writer->save($out_file);