如果引用或轉貼,麻煩註明出處與本網誌連結,否則視為侵權。

2020年5月29日

PHPExcel 無法儲存寫入內含圖片的Excel檔,問題如何解決?

作者: Fred F.M. Wang (FW知識瑣記) 日期:20200529


PHPExcel是一個PHP程式中用來存取Excel檔案很好用的程式庫。

我常常用套表的方式產生Excel檔報表,也就是事先建立一個Excel樣板格式檔,將格式調整好,如標題,表格標頭,欄寬欄高,表格框線,列印格式等設定在樣本檔中。然後,在PHP程式中,複製此樣本檔產生目的檔案,在將資料寫入目的檔案內。

最近發現的問題是,如果樣版格式內有圖片,例如公司Logo等,在資料寫入欄位,使用$objWriter->save($filename);要儲存時,就會發生錯誤訊息。

上網找尋答案,最佳的解法如下 :

原來這是PHPExcel "\PHPExcel\Writer\Excel2007.php"中的一個bug。

只要註釋掉或刪除第235-237行這三行程式碼(如下),問題就解決了
if (file_exists($pFilename)) {
   unlink($pFilename);
}

沒有留言:

張貼留言

歡迎提供意見, 謝謝 (註 : 留言經過版主審核通過才會發布)