2017-05-14 2395 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:* –

相关问题