需求
在 Word 固定位置插入 Excel 文件。
方案一:使用 PHPWord 的 addObject 寫入時插入
應(yīng)用 PHPword 生成 Word文 檔并插入 Excel,Excel 使用 PHPExcel 生成。
方案二:Word 模板文件中插入 Excel 附件
操作步驟:
- 編寫 PHPWord 模板文件(在固定位置插入一個空的 Excel 模板附件),假定為:e.docx
- 設(shè)置模板文件值,得到除了Excel附件未更新的:a.docx
- 修改 a.docx 擴展名為 a.zip
- 解壓 a.zip,此時發(fā)現(xiàn)解壓后的 “a/” 下存在一個 xxx.xlsx 文件(取決于附入文件類型)
- PHPExcel 生成所需的Excel文件,替換 “a/” 下的 xxx.xlsx
- 壓縮 a 為 zip 文件,得到 a.zip
- 重命名 a.zip 為 a.docx
總結(jié)
兩種方案各有優(yōu)劣,不止用于 Excel 附件、PHP 語言,也可是其他類型的文件或編程語言;
需要注意的是,方案2中 xxx.xlsx 在 word2013、word2016 和 wps 中可能有不同的表現(xiàn)(wps好像會把 xxx.xlsx 轉(zhuǎn)換成二進制文件,所以方案2的步驟里,替換時還需要做一次轉(zhuǎn)換)。