首页 > 解决方案 > 使用 docx 包删除表格单元格中的第一行

问题描述

我是 docx 新手,在向表格单元格添加新段落时,我试图删除第一行。

from docx import Document
from docx.shared import Pt

document.add_heading().add_run('HEADING').font.name = 'Calibri'
a = document.add_table(1, 2, style= 'Table Grid')
a_cells = a.rows[0].cells

a1 = a_cells[0].add_paragraph()
a1 = a1.add_run('NAME').font
a1.bold = True
a1.name = 'Calibri'
a1.size = Pt(14)

NAME 将打印在第二行。我可以用:

a1 = a_cells[0].text = 'NAME'

而不是 add_paragraph 但我不能添加粗体格式。

那么有没有办法呢?删除 add_paragraph 的第一行或将 .text 格式设置为粗体?

标签: pythonformatpython-docx

解决方案


“新”表格单元格已经包含一个空段落。第一段的填写方式必须与第二段及以后的段落不同;像这样的东西:

cell = table.rows[0].cells[0]
paragraph = cell.paragraphs[0]
run = paragraph.add_run('NAME')
font = run.font
font.bold = True
font.name = 'Calibri'
font.size = Pt(14)

second_paragraph = cell.add_paragraph(...)

推荐阅读