1. 程式人生 > 其它 >用pageOffice控制元件實現 office word文件線上編輯 表格中寫資料的方法

用pageOffice控制元件實現 office word文件線上編輯 表格中寫資料的方法

PageOffice對Word文件中Table的操作,包括給單元格賦值和動態新增行的效果。

1 應用場景
OA辦公中,經常要在文件的指定位置表格,填充後端指定資料。
如word文件中,表格資料     如下表格中

 人員資訊

人員資訊表

公司名稱

部門名稱

員工姓名

A公司

開發部

李清

B公司

銷售部

張三


怎麼把後端的關鍵資料,填充到word文件表格中呢?

2 實現方法

文件中設定好書籤,設定好表格後,通過後端呼叫pageOffice外掛程式碼就可以實現。

3 實現過程

以java的springboot框架為例

1 整合pageOffice
https://www.zhuozhengsoft.com/dowm/

從pageOffice官網
下載頁面,找到springboot的整合示例,按照裡面的整合明說,可以整合到自己的springboot專案中。

2 設定資料區域 包含表格

資料區域的技巧
https://www.kancloud.cn/pageoffice_course_group/pageoffice_course/663125

最終效果如圖

注意,一定要書籤包含整個表格,並且還要包含表格上下一行

3 通過程式碼寫入資料

@RequestMapping(value = "Word", method = RequestMethod.GET)
    public ModelAndView showWord(HttpServletRequest request, Map<String, Object> map) {
        PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
        poCtrl.setServerPage(request.getContextPath() + "/poserver.zz");//設定服務頁面

        WordDocument doc = new WordDocument();
        //開啟資料區域
        DataRegion dataRegion = doc.openDataRegion("PO_regTable");
        //開啟table,openTable(index)方法中的index代表Word文件中table位置的索引,從1開始
        Table table = dataRegion.openTable(1);

        //給table中的單元格賦值, openCellRC(int,int)中的引數分別代表第幾行、第幾列,從1開始
        table.openCellRC(3, 1).setValue("A公司");
        table.openCellRC(3, 2).setValue("開發部");
        table.openCellRC(3, 3).setValue("李清");

        //插入一行,insertRowAfter方法中的引數代表在哪個單元格下面插入一個空行
        table.insertRowAfter(table.openCellRC(3, 3));

        table.openCellRC(4, 1).setValue("B公司");
        table.openCellRC(4, 2).setValue("銷售部");
        table.openCellRC(4, 3).setValue("張三");

        poCtrl.setWriter(doc);
        //隱藏選單欄
        poCtrl.setMenubar(false);
        //隱藏自定義工具欄
        poCtrl.setCustomToolbar(false);

        //開啟Word文件
        poCtrl.webOpen("/doc/WordSetTable/test.doc", OpenModeType.docNormalEdit, "張三");
        map.put("pageoffice", poCtrl.getHtmlCode("PageOfficeCtrl1"));
        ModelAndView mv = new ModelAndView("WordSetTable/Word");
        return mv;

  

通過以上程式碼,可以將資料庫中的

A公司  開發部  李清

B公司 銷售部  張三 

寫到文件中。

4 程式碼開啟後的效果

5 總結

PageOffice對Word文件中Table的操作,包括給單元格賦值和動態新增行的效果。