Java ApachePOI-如何在XWPFDocument中并排绘制表

Java ApachePOI-如何在XWPFDocument中并排绘制表,java,apache-poi,openxml,Java,Apache Poi,Openxml,我试图以编程方式创建Word文档,但是在创建两个后续的XWPFTable时,第二个表正好位于第一个表的下方。 我想把它们并排展示 我试着缩小表的大小,使它们可以容纳页面宽度的一半,但表的配置没有改变 有没有办法把它们并排展示? 我怀疑这与文档的XMLCursor有关,但我找不到正确移动它的方法 XWPFDocument document = new XWPFDocument(); XWPFTable table = document.createTable(3,3); CTTblWidth w

我试图以编程方式创建Word文档,但是在创建两个后续的XWPFTable时,第二个表正好位于第一个表的下方。 我想把它们并排展示

我试着缩小表的大小,使它们可以容纳页面宽度的一半,但表的配置没有改变

有没有办法把它们并排展示? 我怀疑这与文档的XMLCursor有关,但我找不到正确移动它的方法

XWPFDocument document = new XWPFDocument();

XWPFTable table = document.createTable(3,3);
CTTblWidth width = table.getCTTbl().addNewTblPr().addNewTblW();
width.setType(STTblWidth.PCT);
width.setW(BigInteger.valueOf(2500));
table.getCTTbl().getTblPr().addNewJc().setVal(STJc.LEFT);

XWPFTable table2 = document.createTable(2,2);
CTTblWidth width2 = table2.getCTTbl().addNewTblPr().addNewTblW();
width2.setType(STTblWidth.PCT);
width2.setW(BigInteger.valueOf(2400));

table2.getCTTbl().getTblPr().addNewJc().setVal(STJc.RIGHT);

/* write to OutputStream */

感谢您的帮助。

表格是一个块级项目,这意味着它将根据其高度和页面右侧边距占用垂直空间,无论是否使用该空间。因此,无法以相同的方式将两个表格并排排列,也无法将两个段落并排排列

有几种方法可以实现这种效果,但最直接的方法可能是创建一个1行乘3列的表,并将左侧表放在第一个单元格中,右侧表放在第三列中。中间柱可用于影响两者之间的间距


您可能不希望包含表格上有任何边框,因为它用于格式化而不是显示。

感谢@scanny的回答,但是我认为,一旦修复了页面尺寸,就可以找到高度。只有一张桌子的解决办法肯定能奏效,但我更愿意把它们分开。我想你可能误解了我的答案。我是说你应该把这两个表并排嵌套在一个容器表中,而不是把这两个表合并成一个表。容器表将用于布局目的,而不是包含其自身的直接内容。表格单元格可以包含嵌套表格,也可以包含文本段落。