如何在使用Apache POI创建docx文件时格式化表格。我想设置单元格的大小,文本的字体,颜色等。
我找到了这个例子,但是单元格大小是根据文本大小设置的。
XWPFDocument document = new XWPFDocument();
// New 2x2 table
XWPFTable tableOne = document.createTable();
XWPFTableRow tableOneRowOne = tableOne.getRow(0);
tableOneRowOne.getCell(0).setText("Hello");
tableOneRowOne.addNewTableCell().setText("World");
XWPFTableRow tableOneRowTwo = tableOne.createRow();
tableOneRowTwo.getCell(0).setText("This is");
tableOneRowTwo.getCell(1).setText("a table");
我希望将表格居中并增加单元格大小。
答案 0 :(得分:0)
目前,我不相信XWPFTable *类有直接的设置器。相反,您需要从Table,Row或Cell中获取适当的CT *对象,并直接设置属性。
.docx文件只是xml文件的zip文件。所以,我建议你做的是创建两个简单的word文档。一个有一个简单的表,另一个有该表,但应用了格式。接下来,解压缩两者,并对它们进行差异化以查看设置了哪些参数以应用所需的格式。
最后,获取适当的CT对象并进行适当的调用。例如,如果表格单元格上设置了 foo =“bar”,您可以: XWPFTableCell cell = xwpfTable.getRow(0).getCell(0); CTTc rawCell = cell.getCTTc(); rawCell.setFoo( “条”);
如果您确实找到了合适的技巧,请考虑发送补丁以在XWPFTable类上添加包装器。只需打开POI bugzilla(https://issues.apache.org/bugzilla/)上的错误并上传补丁。
答案 1 :(得分:0)
您可以使用以下方法将桌子放到中间: table.setTableAlignment(TableRowAlign.CENTER);