java文档合并的问题如下,如果不加下面这句话,
for (int i = 0; i < scword.size(); i++) {
in = new FileInputStream(scword.get(i).getPath());
OPCPackage open = OPCPackage.open(in);
XWPFDocument document = new XWPFDocument(open);
if(i==0){
for(int j = 0;j < target.size(); j++){
ins = new FileInputStream(target.get(i).getPath());
OPCPackage open1 = OPCPackage.open(ins);
XWPFDocument document1 = new XWPFDocument(open1);
documentlist.add(document1);
}
}
documentlist.add(document);
}
for (int i = 0; i < documentlist.size(); i++) {
//获取第一个值,并不能为空,,会出错
switch (i) {
case 0:
if (!tname.isEmpty()){
doc=new XWPFDocument();
XWPFParagraph paragraphX = doc.createParagraph();
XWPFRun runX = paragraphX.createRun();
runX.setText(tname);
runX.setBold(false);//加粗
runX.setFontSize(14);
documentlist.get(i).createParagraph().setPageBreak(true);
doc.createParagraph().setPageBreak(true);
}
break;
case 1:
if (!fword.isEmpty()) {
for (String sc : fword) {
XWPFParagraph paragraph = doc.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText(sc);
documentlist.get(i).createParagraph().setPageBreak(true);
}
}
break;
case 2:
doc= documentlist.get(2);
doc.createParagraph().setPageBreak(true);
break;
default:
documentlist.get(i).createParagraph().setPageBreak(true);
appendBody(doc, documentlist.get(i));
break;
}
}
// 分页
doc.createParagraph().setPageBreak(true);
doc.write(dest);
if(i==0){for(){documentlist.add(document1);}} 这不就是相当于在最前面插入数据么,自然前面的是就是文档里的内容了