我正在用 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 会以不同方式解释我设置为 columnwidth 的值。虽然 MS Word 显然假设 20 个点为单位,但开放式办公室似乎使用点,因此当我在 OO 中打开生成的文档时,所有列的宽度都是 20 倍。
通常当我在生成的输出中看到一些奇怪的东西时,我会解压缩 docx 文件,查看值应该是什么并更改我的代码。但是open office好像不能保存到docx,所以不能改OO里面的值保存回去看看Word是否还能正确解释文档,以便找到跨应用的解决方案。
知道如何设置表格列的宽度,以便 OO 和 MS Wordt 对它的解释相同吗?