1

我有一个使用 Apache POI for 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++;
        }
4

1 回答 1

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;
}
于 2014-02-21T06:52:59.343 回答