Java(Apache POI)如何在整个页面上拉伸XWPFTable行

时间:2013-04-04 07:27:27

标签: java apache-poi

我使用Apache POI为docx制作了一个简单的XWPFTable,但是如果单元格的文本很短,则单元格/行会调整大小以适应文本。如何设置它,以便无论文本的长度如何,表格/行都会从整个页面的左侧延伸到右侧?感谢。

如果有帮助,这是代码的表格部分:

XWPFTable header = document.createTable(1, 3);
        header.getRow(0).getCell(0).setText("LCode");
        header.getRow(0).getCell(1).setText("QTY");
        header.getRow(0).getCell(2).setText("Description/Justification");

        XWPFTable table = document.createTable(LCodes.size(), 3);
        int x = 0;
        for (Map.Entry entry : new TreeMap<Integer, List<String>>(LCodes).entrySet()) {     
            Object LCode = entry.getKey();
            table.getRow(x).getCell(0).setText("L" + LCode);
            table.getRow(x).getCell(1).setText(LCodes.get(LCode).get(2));

            XWPFParagraph para = table.getRow(x).getCell(2).getParagraphs().get(0);
            for (int i = 0; i < 2; i++) {
                if (i == 1 && LCodes.get(LCode).get(i).trim().equals("")) {
                    continue;
                }
                XWPFRun leading = para.createRun();
                leading.setItalic(true);
                if (i == 0) {
                    leading.setText("Description: ");
                    } else {
                    leading.setText("Justification: ");
                }
                XWPFRun trailing = para.createRun();
                trailing.setText(LCodes.get(LCode).get(i));
                if (i == 0 && !(LCodes.get(LCode).get(i).trim().equals(""))) {
                    trailing.addBreak();
                }
            }
            x++;
        }

1 个答案:

答案 0 :(得分:0)

要拉伸xwpf表的宽度,您需要执行以下操作。 1.在示例xwpf文档中创建表。 2.下载与zip相同的文档并解压缩document.xml文件。 3.找到

另一个解决方案:如果您不想从所有这些中取出并隐藏表格边框。您可以在表格的第一列中添加以下XWPFparagraph,这样就可以了。

//add this para in first column to get table width, 84pts total
private XWPFParagraph getFirstColumnText(){
    XWPFParagraph para=new XWPFDocument().createParagraph();
    XWPFRun run=para.createRun();
    run.setColor("ffffff");
    run.setText("...................................................................................");
    return para;
}