Python-Docx表 - 改变字体的方法?

0 python font-size python-docx

我使用Python-Docx来允许我的代码用户创建表.我想改变表的字体大小.单元格值数字在表格单元格中环绕,因为字体太大.到目前为止,我已经搜索了文档和许多论坛,没有任何运气.

我假设只有表格样式可以更改,而不是字体大小,我是否正确?

我意识到我可以修改或创建自己的风格,但这对我的代码在其他计算机上的其他用户没有帮助((例如在论坛帖子中解释:如何摆脱python中的表对象的默认样式 - docx生成的word文档?))我发现的大多数其他帖子都讨论了样式,但没有讨论字体大小.

我看到一些类似的问题,人们指向使用xml,但我不明白这将如何写入标准的docx表代码.

任何帮助或见解非常感谢!

sca*_*nny 5

有几种不同的方法,但是对于当前版本的python-docx,最简单的方法是将段落样式应用于每个表格单元格中的每个段落.您需要在起始文档中使用更紧凑字体的样式,如下所示:http://python-docx.readthedocs.org/en/latest/user/styles.html

这是一个空中代码示例,可以让您朝着正确的方向前进:

table = document.add_table(...)
for row in table.rows:
    for cell in row.cells:
        for paragraph in cell.paragraphs:
            paragraph.style = 'CellText'  # assuming style named "Cell Text"
Run Code Online (Sandbox Code Playgroud)

如果其中任何一个没有意义,请在评论中回复.顺便说一句,下一个版本将具有大量的新功能,用于样式和直接字体属性应用,例如大小和字体.它应该在一个月左右出来.

  • 只是一个更正:单元格对象的属性应该是`paragraphs`而不是`paragraph`。我知道第一个问题已经很久了,但为了帮助其他人:关于没有样式,可以在运行时创建样式,所以不会有问题。因此,此解决方案效果很好。 (2认同)