在项目需求中,需要对于一个word模板文档生成相对应的word文件,而此word模板是多页的并且需要在最终文件中生成相应的目录,由于项目环境是Linux,所以舍弃了jacob(windows环境)。然后主要是研究了Apache poi 进行word操作以及如何生成目录。
主要分两个部分介绍:
- Apache poi 操作word:主要是通过XWPFDocument对象进行操作,api 地址:http://poi.apache.org/apidocs/dev/
//读取word文件
InputStream is = new FileInputStream(path);
XWPFDocument doc = new XWPFDocument(is);
List<IBodyElement> elements= doc.getBodyElements();//获取所有元素(段落和表格)
int pIndex =0;
int tIndex =0;
for(int i=0 ; i< elements.size(); i++) {
IBodyElement e = elements.get(i);
//判断元素类型:段落/ 表格
if(BodyElementType.PARAGRAPH.equals(e.getElementType())) {
XWPFParagraph pa = e.getBody().getParagraphArray(pIndex); //获取段落
List<XWPFRun> runs = paragraph.getRuns(); //获取段落文本
for (XWPFRun run : runs) {