2017-05-14 2404 views
0

我想創建一個普通表格並將其設置爲'從右到左'「,可以使用此選項設置Table Direction」,並使其成爲'從左到右'的對齊方式Apache POI Word XWPF表格方向和對齊方式

XWPFTable myTable = myDocument.createTable(); 
CTTbl cttblp = myTable.getCTTbl(); 
CTTblPr cttblpr; 
cttblpr = (cttblp.getTblPr() == null ? cttblp.addNewTblPr() : cttblp.getTblPr()); 

//table direction 
cttblpr.addNewBidiVisual().setVal(STOnOff.ON); 

//table alignment 
CTJc ctjc = (cttblpr.isSetJc() ? cttblpr.getJc() : cttblpr.addNewJc()); 
ctjc.setVal(STJc.LEFT); 

我已經認識到表方向的部分防止任何對準發生:可以使用此選項Table Alignment

我已經試過這個設置。

回答

2

表格方向不會阻止對齊發生,它會反轉對齊的影響。因此,如果您將表格方向設置爲Right-to-Left,那麼您必須將表格對齊設置爲Right,以便它顯示左對齊。對於具有左側和右側可視化的所有表格屬性來說都是如此,例如左側邊框現在將顯示在右側,反之亦然。

參見ECMA-376 1st edition Part 4 2.4.23節線16

如果此屬性[JC(表取向)]的一個表省略,則理由應當由相關聯的表格樣式確定。如果此屬性未在樣式層次結構中指定,則該表格應該從前邊距(從左到右表格中的左邊距或從右到左表格中的右邊距)中的零縮進左對齊, 。

而且ECMA-376 1st edition Part 4 2.4.1節線7

當此屬性[bidiVisual(目視從右到左表)]被指定,則所有單元的排序(和表級屬性)在該表格應適用於表格,假定該表格是一個正常的從左到右的表格,但表格單元格應從右到左的方向顯示。 [例如:第一個表格單元格的左邊框應該顯示在該單元格的右側(這可能是最右邊的單元格),在視覺上從右到左的表格中。 end example]

+0

夥計..你真棒:D:* –

相關問題