PHPExcelを使用して、既存のxlsmファイルに、セルに値を挿入して保存すると、ファイルが削除されてしまいます。
以下がエラー文です。
Fatal error: Uncaught PHPExcel_Writer_Exception: Could not close zip file ファイル名.xlsm. in C:\xampp\htdocs\Classes\PHPExcel\Writer\Excel2007.php:386 Stack trace: #0 C:\xampp\htdocs\sample.php(92): PHPExcel_Writer_Excel2007->save('..') #1 {main} thrown in C:\xampp\htdocs\Classes\PHPExcel\Writer\Excel2007.php on line 386
もしくは、
PHP
1 $filePath = 'test.xlsm'; 2 if (!file_exists($filePath)) { 3 exit($filePath. "が見つかりません。"); 4 } 5 6 $obj_reader = PHPExcel_IOFactory::createReader('Excel2007'); 7 $obj_book = $obj_reader->load($filePath); 8 9 $obj_sheet = $obj_book->getSheet(0); 10 $title = $obj_sheet->getCell("C5")->getValue(); 11 $obj_sheet->setCellValue("E5", $title); 12 13 $obj_writer = PHPExcel_IOFactory::createWriter($obj_book, 'Excel2007'); 14 $obj_writer->save($filePath); 15コード
このようなソースで、上書きするとエラーは起こらないものの、xlsmファイルが開けなくなってしまいます。
拡張子が、xlsxである場合は問題ないのですが、xlsmでもなんとかなる方法はないのでしょうか。
回答1件
あなたの回答
tips
プレビュー