1:需求web
案例分析: 員工寫了一篇文案 . 須要各位領導須要填寫各自的意見 .服務器
2:方案:code
不一樣的用戶編輯不一樣區域的方法, orm
核心思想: pageoffice 提供了指定區域是否可編輯的方法server
在這兒解釋一下DataRegion.
DataRegion也就是word 文檔中的書籤.能夠看看下面連接中DataRegion具體的描述blog
https://www.kancloud.cn/pageoffice_course_group/pageoffice_course/663125文檔
3:具體代碼get
(1):調用PageOffice在線打開word文件,好比:test.docit
(2):設置不一樣的用戶編輯不一樣的區域(設置數據區域是否可編輯)io
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 模式