poi3.8操作word,动态添加文字 (二)

2014-11-24 09:07:00 · 作者: · 浏览: 1
e());
//获得第一个段落对象
XWPFParagraph paragraph = doc.getParagraphs().get(0);
//段落的格式,下面及个设置,将使新添加的文字向左对其,无缩进.
paragraph.setIndentationLeft(0);
paragraph.setIndentationHanging(0);
paragraph.setAlignment(ParagraphAlignment.LEFT);
paragraph.setWordWrap(true);
//在段落中新插入一个run,这里的run我理解就是一个word文档需要显示的个体,里面可以放文字,参数0代表在段落的最前面插入
XWPFRun run = paragraph.insertNewRun(0);
//设置run内容
run.setText("finish");
run.setFontFamily("宋体");
run.setBold(true);
//因为不支持直接保存会原有对象,或者我不会,只能新保存一个文件,然后将原来的删除,将新的文件重命名回原文件名.
File oldFile = new File("files\\11.docx");
File newFile = new File("files\\22.docx");
FileOutputStream fos = new FileOutputStream(newFile);
doc.write(fos);
fos.flush();
fos.close();
pack.close();
System.out.println(oldFile.delete());
System.out.println(newFile.renameTo(oldFile));
} catch (Exception e) {
e.printStackTrace();

}

}

}注释写了很明白了,因为poi的文档相当于没有,里面的每个函数,我都是自己试出来的,没办法,不知道为什么他们不维护api,就算是试验阶段,也应该写出来,要不然就扔出来一个jar,谁知道你是干什么的.

代码很简单,就是实现了在word文档的第一行插入"finish"字样,这里是插入不会影响同一行的文字,我没有找到直接保存修改的功能,只能saveas一个新文件,然后重命名回去.如果有童鞋知道怎么实现,还望给我回复.


作者:qq413041153