在某些狀況下,業務需求須要實現不一樣的用戶登陸系統,打開同一個文件(沒必要同時打開),能夠編輯的區域不同,每一個人都有屬於本身的編輯區域。web
解決思路:code
利用PageOffice能夠實現這樣的效果。PageOffice有一個功能就是操做數據區域,不但能夠給文件中的數據區域(「PO_」開頭的書籤)賦值,還能夠設置只讀模式打開文件的時候哪些數據區域爲可編輯模式。在打開文件以前先獲取當前登陸用戶的權限,而後根據這個用戶的權限來設置這個用戶打開文件以後,哪些數據區域是能夠編輯的。orm
實現方式:對象
WordDocument doc = new WordDocument(); DataRegion dr1 = doc.openDataRegion("PO_xx"); dr1.Value = "張三"; //這句代碼不是必須的 dr1.Editing = true; //容許這個數據區域編輯 DataRegion dr2 = doc.openDataRegion("PO_yy"); dr2.Value = docCause; dr2.Editing = false; //禁止這個數據區域編輯 …… poCtrl1.webOpen("doc/template.doc",OpenModeType.docSubmitForm, "張三");
用提交模式打開文件,這樣文件是隻讀的,只有設置了Editing=true的數據區域能夠編輯。文檔
PageOffice中的概念「數據區域 (DataRegion)」:在PageOffice的概念裏「PO_」開頭的書籤被稱爲數據區域(DataRegion),用「PO_」開頭來命名書籤只是爲了防止和用戶本身的書籤有衝突。it
DataRegion屬性中的其中兩個屬性是:io
OpenDataRegion("PO_Name").Value = "XXX";
OpenDataRegion("PO_Name").Editing = true;
這個Editing屬性是此次使用的重點,實現不一樣的人編輯word文檔中不一樣的編輯區域的關鍵是利用word中的書籤去標記編輯區域(數據區域),而後用數據區域的Editing屬性去控制這個區域是否是能夠編輯。登錄