簡體   English   中英

Apache POI-如何在XWPFDocument中並排繪制表格

[英]Apache POI - How to draw tables side by side in XWPFDocument

我正在嘗試以編程方式創建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列的表,並將左表放在第一個單元格中,將右表放在第三列中。 中間列可用於影響兩者之間的間距。

您可能不希望包含表中有任何邊框,因為它用於格式化而不是顯示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM