實際的項目需求中一樣也會遇到合併word文件的狀況,在此分兩種狀況分別介紹一下使用PageOffice解決此需求的實現方法。code
1.把多個word文檔分別插入到模板中指定數據區域生成一個Word文檔。對象
首先介紹一下DataRegion的Value屬性,若是給Value賦值一個字符串常量或變量,那麼數據區域的內容就是這段文本;若是給Value賦值一個」[Word]」開頭,」[/Word]」結尾的字符串常量或變量,PageOffice會認爲[Word]和 [/Word]之間是另外的一個word文檔的URL路徑,PageOffice會自動的把這個word文檔的整個內容插入到數據區域所在位置。文檔
ASP.NET的代碼:字符串
doc.OpenDataRegion("PO_dr ").Value = "[Word]doc/001.doc[/Word]";
JAVA的代碼:it
doc.openDataRegion("PO_dr").setValue(「[Word]doc/001.doc[/Word]」);
實現插入多個文檔到模板中指定的數據區域,只須要重複的對各個數據區域賦值對應的文檔URL路徑值。io
2.把多個Word文檔先後相連合併成一個文檔的。模板
實現多個Word文件的鏈接,推薦使用給數據區域賦值「[Word] 文檔下載路徑[/Word]」 的方法,利用PageOffice.WordWriter.WordDocument對象的CreateDataRegion方法在文件的末尾連續建立數據區域,而後依次給各個數據區域賦值要插入的Word文檔的URL路徑。好比要合併doc目錄下的1.doc、2.doc和3.doc到一個文件中。變量
ASP.NET的實現代碼:下載
PageOffice.WordWriter.WordDocument doc = new PageOffice.WordWriter.WordDocument(); PageOffice.WordWriter.DataRegion dr1 = doc.CreateDataRegion("PO_dr1", PageOffice.WordWriter.DataRegionInsertType.After, "[End]"); dr1.Value = "[Word]doc/1.doc[/Word]"; PageOffice.WordWriter.DataRegion dr2 = doc.CreateDataRegion("PO_dr2", PageOffice.WordWriter.DataRegionInsertType.After, "[End]"); dr2.Value = "[Word]doc/2.doc[/Word]"; PageOffice.WordWriter.DataRegion dr3 = doc.CreateDataRegion("PO_dr3", PageOffice.WordWriter.DataRegionInsertType.After, "[End]"); dr3.Value = "[Word]doc/3.doc[/Word]"; …… PageOfficeCtrl1.SetWriter(doc);
JAVA的實現代碼:方法
WordDocument doc = new WordDocument(); DataRegion dr1= doc.createDataRegion("PO_dr1", DataRegionInsertType.After, "[End]"); dr1.setValue("[Word]doc/1.doc[/Word]"); DataRegion dr2= doc.createDataRegion("PO_dr2", DataRegionInsertType.After, "[End]"); dr2.setValue("[Word]doc/2.doc[/Word]"); DataRegion dr3= doc.createDataRegion("PO_dr3", DataRegionInsertType.After, "[End]"); dr3.setValue("[Word]doc/3.doc[/Word]"); …… poCtrl1.setWriter(doc);