Apache POI - 在Word(docx)文档中使用多列

4

我正在尝试创建一个包含多列的Word文档。这么做的原因是数据将跨越多个页面,只有使用列才能填满整个页面并添加到新的页面。

使用Apache POI可以完成吗?谢谢!


你是指Word文档还是Excel文档? - Bhavik Shah
2个回答

2
如何使用之前创建的具有多列的空文档?就像这样:
    XWPFDocument document = new XWPFDocument(PoiTest.class.getResourceAsStream("twocolumn.docx"));
    XWPFParagraph tmpParagraph = document.getParagraphs().get(0);

    for (int i = 0; i < 100; i++) {
        XWPFRun tmpRun = tmpParagraph.createRun();
        tmpRun.setText("LALALALAALALAAAA");
        tmpRun.setFontSize(18);
    }
    document.write(new FileOutputStream(new File("C:\\temp\\poi.docx")));

0
这是使用poi的解决方案:
    XWPFDocument document = new XWPFDocument();
    CTBody ctBody = document.getDocument().getBody();
    CTSectPr ctSectPr = ctBody.getSectPr() == null ? ctBody.addNewSectPr() : ctBody.getSectPr();

    // add first column
    CTColumns column1 = ctSectPr.addNewCols();
    column1.setNum(BigInteger.valueOf(1));

    // add second column
    CTColumns column2 = ctSectPr.addNewCols();
    column2.setNum(BigInteger.valueOf(2));

在两栏中添加文本:
    XWPFParagraph paragraph = document.createParagraph();
    XWPFRun run = paragraph.createRun();

    // first line of column 1
    run.setText("col1");
    run.addBreak(BreakType.COLUMN);

    // first line of column 2
    run.setText("col2");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接