首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python-docx -如何改变表格字体大小?

Python-docx -如何改变表格字体大小?
EN

Stack Overflow用户
提问于 2017-03-25 03:32:15
回答 3查看 15.8K关注 0票数 5
代码语言:javascript
运行
复制
table = document.add_table(rows=1, cols=1)
hdr_cells = table.rows[0].cells
hdr_cells[0].text = 'Qty'

我必须在一行一列的表格中更改文本'Qty‘的字体大小,我如何才能做到这一点?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-03-25 11:50:23

您需要将段落放入单元格中。来自python-docx的文档:

3.5.2_单元格对象:

docx.table类。_单元格(tc,家长)

段落

单元格中的段落列表。表格单元格必须至少包含一个块级元素,并以段落结尾。默认情况下,新单元格包含单个段落。只读

参考资料:

python-docx Documentation - Read the Docs

代码:

要更改文本'Qty‘的字体大小,请执行以下操作

代码语言:javascript
运行
复制
paragraph =hdr_cells[0].paragraphs[0]
run = paragraph.runs
font = run[0].font
font.size= Pt(30) # font size = 30

要更改整个表格的字体大小,请执行以下操作:

代码语言:javascript
运行
复制
for row in table.rows:
    for cell in row.cells:
        paragraphs = cell.paragraphs
        for paragraph in paragraphs:
            for run in paragraph.runs:
                font = run.font
                font.size= Pt(30)

如何在表格中访问段落的参考:Extracting data from tables

票数 10
EN

Stack Overflow用户

发布于 2019-06-05 12:14:21

在那里,解决方案真的很有帮助。我用了一段时间。但我发现了一个小问题:

时间。表越大,构建表所花费的时间就越长。所以我改进了它。切两轮。这就是你的信息:

代码会更改整个表

代码语言:javascript
运行
复制
for row in table.rows:
    for cell in row.cells:
        paragraphs = cell.paragraphs
        paragraph = paragraphs[0]
        run_obj = paragraph.runs
        run = run_obj[0]
        font = run.font
        font.size = Pt(30)

当你切两个回合时,你就节省了时间。

票数 1
EN

Stack Overflow用户

发布于 2021-02-25 05:09:56

在user7609283 answer的基础上,下面是一个简短的版本,用于将单元格设置为粗体(单元格必须包含文本,然后才能应用格式,因为它会查找第一段):

代码语言:javascript
运行
复制
row_cells = table.add_row().cells
    row_cells[0].text = "Customer"
    row_cells[0].paragraphs[0].runs[0].font.bold = True
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43007725

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档