2012-08-15 73 views
0
InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(TEMPLATE); 
    XWPFDocument document = new XWPFDocument(is); 
    List<IBodyElement> elements = document.getBodyElements(); 
    for (int i = 0; i < elements.size(); i++) { 
     document.removeBodyElement(i); 
    } 

    CTBody body = document.getDocument().getBody(); 
    CTSectPr docSp = body.getSectPr(); 

    CTPageSz pageSize = docSp.getPgSz(); 
    CTPageMar margin = docSp.getPgMar(); 

    BigInteger pageWidth = pageSize.getW(); 
    pageWidth = pageWidth.add(BigInteger.ONE); 
    BigInteger totalMargins = margin.getLeft().add(margin.getRight()); 
    BigInteger contentWidth = pageWidth.subtract(totalMargins); 

    ... 

    XWPFTable table = document.createTable(totalRows, totalColumns); 

从模板开始,我创建一个XWPFDocument并添加一个表。我怎样才能在页面上添加多个表格?也就是说,如何插入分页符?如何制作多页面docx?

回答

5

我只是一个初学者使用POI来生成.docx文件,但我到目前为止想出了如何插入分页符。当你创建了一个XWPFParagraph,你可以像这样插入一个分页符:

XWPFDocument document = new XWPFDocument(is); 
... 
XWPFParagraph paragraph = document.createParagraph(); 
XWPFRun run = paragraph.createRun(); 
run.addBreak(BreakType.PAGE); 

希望这会有所帮助。

2

另一种方法是你可以设置使用XWPFParagraph分页:

XWPFDocument document = new XWPFDocument(is); 
... 
XWPFParagraph paragraph = document.createParagraph(); 
paragraph.setPageBreak(true); 
+0

我不能相信,就是这么简单。谢谢! – 2014-12-06 22:36:45