av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java 使用POI合并兩個(gè)word文檔

瀏覽:110日期:2022-05-19 16:03:46
java POI合并兩個(gè)word文檔有需要的可以將主函數(shù)中寫死的地方改為一個(gè)List

import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream; import org.apache.poi.openxml4j.opc.OPCPackage;import org.apache.poi.xwpf.usermodel.XWPFDocument;import org.apache.poi.xwpf.usermodel.XWPFParagraph;import org.apache.xmlbeans.XmlOptions;import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTBody; public class MergeDoc { public static void main (String[] args) throws Exception {InputStream in1 = null;InputStream in2 = null;OPCPackage src1Package = null;OPCPackage src2Package = null; OutputStream dest = new FileOutputStream('dest.docx');try { in1 = new FileInputStream('/Users/liuyahui/test.docx'); in2 = new FileInputStream('/Users/liuyahui/test1.docx'); src1Package = OPCPackage.open(in1); src2Package = OPCPackage.open(in2);} catch (Exception e) { e.printStackTrace();} XWPFDocument src1Document = new XWPFDocument(src1Package);CTBody src1Body = src1Document.getDocument().getBody();XWPFParagraph p = src1Document.createParagraph();//設(shè)置分頁(yè)符p.setPageBreak(true);XWPFDocument src2Document = new XWPFDocument(src2Package);CTBody src2Body = src2Document.getDocument().getBody();appendBody(src1Body, src2Body);src1Document.write(dest); } private static void appendBody(CTBody src, CTBody append) throws Exception {XmlOptions optionsOuter = new XmlOptions();optionsOuter.setSaveOuter();String appendString = append.xmlText(optionsOuter);String srcString = src.xmlText();String prefix = srcString.substring(0,srcString.indexOf('>')+1);String mainPart = srcString.substring(srcString.indexOf('>')+1,srcString.lastIndexOf('<'));String sufix = srcString.substring( srcString.lastIndexOf('<') );String addPart = appendString.substring(appendString.indexOf('>') + 1, appendString.lastIndexOf('<'));CTBody makeBody = CTBody.Factory.parse(prefix+mainPart+addPart+sufix);src.set(makeBody); } }poi生成word --XWPFDocument 合并

//兩個(gè)對(duì)象進(jìn)行追加 public XWPFDocument mergeWord(XWPFDocument document,XWPFDocument doucDocument2) throws Exception { XWPFDocument src1Document =document ; XWPFParagraph p = src1Document.createParagraph(); //設(shè)置分頁(yè)符 p.setPageBreak(true); CTBody src1Body = src1Document.getDocument().getBody(); XWPFDocument src2Document = doucDocument2; CTBody src2Body = src2Document.getDocument().getBody();// XWPFParagraph p2 = src2Document.createParagraph(); XmlOptions optionsOuter = new XmlOptions(); optionsOuter.setSaveOuter(); String appendString = src2Body.xmlText(optionsOuter); String srcString = src1Body.xmlText(); String prefix = srcString.substring(0,srcString.indexOf('>')+1); String mainPart = srcString.substring(srcString.indexOf('>')+1,srcString.lastIndexOf('<')); String sufix = srcString.substring( srcString.lastIndexOf('<') ); String addPart = appendString.substring(appendString.indexOf('>') + 1, appendString.lastIndexOf('<')); CTBody makeBody = CTBody.Factory.parse(prefix+mainPart+addPart+sufix); src1Body.set(makeBody); return src1Document; }無(wú)限合并

XWPFDocument xmd=list.get(0); //默認(rèn)獲取第一個(gè)作為模板for (int i=0;i<list.size()-1;i++) { xmd=mergeWord(xmd,list.get(i+1)); //相繼合并 }

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: word
相關(guān)文章:
主站蜘蛛池模板: 老外几下就让我高潮了 | 麻豆视频在线免费看 | 最新av在线播放 | 欧美一级电影免费 | 一色桃子av一区二区 | 久久久久久九九九九九九 | 国产999精品久久久 日本视频一区二区三区 | 99亚洲精品 | 久久69精品久久久久久久电影好 | 成人综合在线视频 | 国产精品久久久久久久三级 | 亚洲国产一区视频 | 东京av男人的天堂 | 麻豆精品久久久 | 福利视频网站 | 亚洲成人精品一区 | 神马久久香蕉 | 国产一区二区三区四区三区四 | av网站免费观看 | 在线免费激情视频 | 日韩久久在线 | 国产精品性做久久久久久 | 粉嫩粉嫩芽的虎白女18在线视频 | 久草中文在线观看 | 一区二区日本 | 欧美视频一区二区三区 | 日本中文字幕在线观看 | 影音先锋中文字幕在线观看 | 亚洲午夜久久久 | 亚洲精品电影 | 成人在线免费 | 亚洲aⅴ | 国产免费av在线 | 黄色一级免费 | 麻豆视频国产在线观看 | 午夜在线精品偷拍 | 精品1区2区3区4区 | 成人国产午夜在线观看 | 国产欧美精品区一区二区三区 | 91视频网址 | av黄色网|