麒麟V10、UOS系統實現線上合併多個Word檔案

爱吃苹果皮發表於2024-11-08

不管是將多個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)到對應的資料區域中:

  1. PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
  2. WordDocumentWriter worddoc = new WordDocumentWriter();
  3. //“[word][/word]”標籤的引數地址可以是“磁碟路徑”,也可以是“文件url下載地址(不支援跨域)”
  4. worddoc.openDataRegion("PO_Design").setValue("[word]D:\\Design.docx[/word]");
  5. worddoc.openDataRegion("PO_Budget").setValue("[word]D:\\Budget.docx[/word]");
  6. poCtrl.setWriter(worddoc);//必須
  7. poCtrl.WebOpen("D:\\BaoGao.docx", OpenModeType.docNormalEdit, "張三");

前端程式碼

本功能無前端關鍵程式碼。

原連結:Word多檔案合併 | PageOffice 開發者中心

國產系統演示影片:PageOffice國產版在資料區域插入word文件_嗶哩嗶哩_bilibili

windows演示影片:PageOffice在資料區域插入Word文件_嗶哩嗶哩_bilibili

相關文章