如何设置单元格的宽度?我尝试了通过单元格属性,但它不起作用
private void addTableCell(Tr tableRow, String content, boolean setWidth, int width) {
Tc tableCell = factory.createTc();
if (setWidth) {
setCellWidth(tableCell, width);
}
tableCell.getContent().add(
wordMLPackage.getMainDocumentPart().
createParagraphOfText(content));
tableRow.getContent().add(tableCell);
}
private void setCellWidth(Tc tableCell, int width) {
TcPr tableCellProperties = new TcPr();
TblWidth tableWidth = new TblWidth();
tableWidth.setW(BigInteger.valueOf(width));
tableCellProperties.setTcW(tableWidth);
tableCell.setTcPr(tableCellProperties);
}
答案 0 :(得分:3)
你还应该设置w:tbl / w:tblGrid;进一步了解ecma376/WordML/Tables
正确设置内容的最简单方法是在Word中根据自己的喜好制作表格,然后使用docx4j webapp或Docx4jHelper Word AddIn生成相应的代码。
有关w:tcW的更多信息,请参阅the spec。
答案 1 :(得分:1)
您可能需要设置单元格的宽度类型。尝试添加
tableWidth.setType(" DXA&#34);
在setCellWidth函数中调用setTcW()之前。