Java 为XWPFTable:ApachePOIAPI的列设置固定宽度

Java 为XWPFTable:ApachePOIAPI的列设置固定宽度,java,apache,Java,Apache,我使用下面的函数WidthCellsCarsRow来设置XWPFTable中列的宽度。当数据似乎超过定义的宽度时,列宽似乎得到了扩展。 所以,有没有办法避免这种宽度扩展,如果数据长度更能适应这种宽度,那么换行符就可以了 static void widthCellsAcrossRow (XWPFTable table, int rowNum, int colNum, int width) { XWPFTableCell cell = table.getRow(rowNum).get

我使用下面的函数WidthCellsCarsRow来设置XWPFTable中列的宽度。当数据似乎超过定义的宽度时,列宽似乎得到了扩展。 所以,有没有办法避免这种宽度扩展,如果数据长度更能适应这种宽度,那么换行符就可以了

static void widthCellsAcrossRow (XWPFTable table, int rowNum, int colNum, int width) {
        XWPFTableCell cell = table.getRow(rowNum).getCell(colNum);
        if (cell.getCTTc().getTcPr() == null)
            cell.getCTTc().addNewTcPr();
        if (cell.getCTTc().getTcPr().getTcW()==null)
            cell.getCTTc().getTcPr().addNewTcW();
        cell.getCTTc().getTcPr().getTcW().setW(BigInteger.valueOf((long) width));
}
我正在调用上述函数,如下所示:

for (int i=0;i<(tableChipDataLayoutSpecification1.getNumberOfRows());i++) {
    widthCellsAcrossRow(tableChipDataLayoutSpecification1, i, 0, 700);
    widthCellsAcrossRow(tableChipDataLayoutSpecification1, i, 1, 600);
    widthCellsAcrossRow(tableChipDataLayoutSpecification1, i, 2, 6000);
    widthCellsAcrossRow(tableChipDataLayoutSpecification1, i, 3, 700);
    widthCellsAcrossRow(tableChipDataLayoutSpecification1, i, 4, 700);
    widthCellsAcrossRow(tableChipDataLayoutSpecification1, i, 5, 700);
    widthCellsAcrossRow(tableChipDataLayoutSpecification1, i, 6, 600);
}
for(int i=0;i