java 實現不同使用者編輯 word 文件的不同區域
阿新 • • 發佈:2018-11-19
1:需求
案例分析: 員工寫了一篇文案 . 需要各位領導需要填寫各自的意見 .
2:方案:
不同的使用者編輯不同區域的方法,
核心思想: pageoffice 提供了指定區域是否可編輯的方法
在這兒解釋一下DataRegion.
DataRegion也就是word 文件中的書籤.可以看看下面連結中DataRegion具體的描述
https://www.kancloud.cn/pageoffice_course_group/pageoffice_course/663125
3:具體程式碼
(1):呼叫PageOffice線上開啟word檔案,比如:test.doc
(2):設定不同的使用者編輯不同的區域(設定資料區域是否可編輯)
String userName = request.getParameter("userName"); //***************************卓正PageOffice元件的使用******************************** WordDocument doc = new WordDocument(); //開啟資料區域 DataRegion dTitle = doc.openDataRegion("PO_title"); //給資料區域賦值 dTitle.setValue("某公司第二季度產量報表"); //設定資料區域可編輯性 dTitle.setEditing(false);//資料區域不可編輯 DataRegion dA1 = doc.openDataRegion("PO_A_pro1"); DataRegion dA2 = doc.openDataRegion("PO_A_pro2"); DataRegion dB1 = doc.openDataRegion("PO_B_pro1"); DataRegion dB2 = doc.openDataRegion("PO_B_pro2"); //根據登入使用者名稱設定資料區域可編輯性 //A部門經理登入後 if (userName.equals("zhangsan")) { userName = "A部門經理"; dA1.setEditing(true); dA2.setEditing(true); dB1.setEditing(false); dB2.setEditing(false); } //B部門經理登入後 else { userName = "B部門經理"; dB1.setEditing(true); dB2.setEditing(true); dA1.setEditing(false); dA2.setEditing(false); } PageOfficeCtrl poCtrl = new PageOfficeCtrl(request); poCtrl.setWriter(doc); //設定伺服器頁面 poCtrl.setServerPage(request.getContextPath()+"/poserver.zz"); //此行必須 poCtrl.setMenubar(false); //設定文件開啟方式 poCtrl.webOpen("doc/test.doc", OpenModeType.docSubmitForm, userName); ******必須用submit 模式