不管是將多個Word檔案插入到Word模板指定位置,生成一個合併文件,還是將多個Word文件插入到一個空白的Word檔案中,首尾連線成一篇文件,都需要用到PageOffice提供的資料區域插入Word文件功能。
在實際專案開發中,以下場景可能會用到Word多檔案合併功能:
- 起草合同 比如在一個Web專案的起草合同頁面,可以選擇合同模板,並填寫此模板所需要的合同名稱、甲乙雙方單位名稱、合同金額等合同相關資訊,還可以選擇A、B、C、D等合同條款項,每個合同條款中的內容都是儲存在一個單獨Word檔案中。使用者起草合同時,選擇了合同模板,輸入了合同的各項資訊,並勾選了A、C兩個條款項,實現自動生成合同的功能:把使用者填寫的合同資訊動態插入到合同模板,並把A、C兩個條款項的Word檔案分別插入到合同模板的對應位置。
- 生成可行性報告 比如公司準備研發某個產品,公司各個部門都需要準備自己的參考意見,市場部需要提供市場分析報告,研發部需要提供技術分析報告等,每個部門都編寫了各自的調查分析報告Word檔案,最後生成給領導檢視的可行性報告檔案時,就需要把各部門的報告分別插入到可行性報告中對應的章節裡,合併成一篇Word檔案。
- 標書製作 比如在標書的製作過程中,可能單獨有幾個word檔案,如標書主體檔案、技術方案、成本估算等等,然後分別由不同人負責的,各自編輯,最後插入各項子檔案到標書主體檔案,合併成一個最終的標書文件。
- 試卷生成 比如老師要編寫一個試卷,試題庫把每道試題都單獨儲存在一份Word檔案中,並對應一條資料庫記錄,老師可以在網頁上勾選題庫中的試題,最後確認生成試卷時,把每道試題的Word檔案都合併到同一個試卷的Word文件中。
本文就以“OA專案立項可行性分析報告”為例,說明一下PageOffice是如何使用Word合併功能實現生成可行性報告的。比如某員工編輯了可行性報告的主體檔案,如下圖所示。為了讓功能描述更簡單明瞭,檔案中只使用了兩個資料區域PO_Budget(專案預算分析)和PO_Design(專案架構設計)。
比如開發部編輯的專案架構設計報告文件內容如下圖所示:
財務部門負責制定的財務預算報告內容如下圖格所示:
呼叫PageOffice的Word合併功能,把開發部編輯的專案架構設計文件插入到報告主體檔案的資料區域PO_Design中,把財務部門負責制定的財務預算文件插入到資料區域PO_Budget中,生成的最終可行性報告如下圖所示:
後端程式碼
呼叫PageOffice線上開啟報告主體檔案,比如:D:\BaoGao.docx,並動態插入專案架構設計文件(Design.docx)和財務預算文件(Budget.docx)到對應的資料區域中:
- PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
-
- WordDocumentWriter worddoc = new WordDocumentWriter();
- //“[word][/word]”標籤的引數地址可以是“磁碟路徑”,也可以是“文件url下載地址(不支援跨域)”
- worddoc.openDataRegion("PO_Design").setValue("[word]D:\\Design.docx[/word]");
- worddoc.openDataRegion("PO_Budget").setValue("[word]D:\\Budget.docx[/word]");
-
- poCtrl.setWriter(worddoc);//必須
- poCtrl.WebOpen("D:\\BaoGao.docx", OpenModeType.docNormalEdit, "張三");
前端程式碼
本功能無前端關鍵程式碼。
原連結:Word多檔案合併 | PageOffice 開發者中心
國產系統演示影片:PageOffice國產版在資料區域插入word文件_嗶哩嗶哩_bilibili
windows演示影片:PageOffice在資料區域插入Word文件_嗶哩嗶哩_bilibili