在 XWPFTableCell (docx) 中设置表的列宽
我正在使用apache-poi生成一个docx文件。在wordfile中,我添加了表格,其列的宽度是我希望看到固定的。
目前,我使用这里描述的技术:http://apache-poi.1045710.n5.nabble.com/Is-there-a-way-to-set-the-width-of-a-column-in-XWPFTableCell-td5711491.html
基本上,这需要设置
cell.getCTTc().addNewTcPr().addNewTcW().setW(BigInteger.valueOf(cols[j]));
在该列的每个单元格上。
问题是,虽然文件在MS Word中完全打开,但open office会以不同的方式解释我设置为列宽的值。虽然MS Word显然假设20th的点作为单位,但open office似乎使用点代替,因此当我在OO中打开生成的文档时,所有列都宽20倍。
通常,当我在生成的输出中看到一些奇怪的东西时,我会解压缩docx文件,看看值应该是多少,然后更改我的代码。但是open Office似乎无法保存到docx,所以我无法更改OO中的值将其保存回去,看看Word是否仍然正确解释文档以找到跨应用程序解决方案。
任何想法,我如何设置表列的宽度,以便OO和MS Wordt都解释它相同?