如何使用 python-docx 在单元格内同时对齐和设置颜色
How to align and set color at the same time inside a cell with python-docx
我正在尝试用 python-docx 制作 table。
这是我想要的输出:
¡--OK(粗体)--¡--MIDDLE(红色)--¡----RIGHT¡
这就是我得到的:
¡--OK(粗体)--¡MIDDLE(红色)----¡RIGHT----¡
我使用的代码是:
from docx import Document
from docx.shared import RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
document = Document()
table = document.add_table(rows=1, cols=3, style='Table Grid')
fila = table.rows[0].cells
# First cell: OK in bold
texto = 'OK'
dentro = fila[0].paragraphs[0]
dentro.add_run(texto).bold = True
dentro.alignment = WD_ALIGN_PARAGRAPH.CENTER
# Second cell: Middle in red
texto = 'MIDDLE'
dentro = fila[1].paragraphs[0].add_run(texto)
dentro.alignment = WD_ALIGN_PARAGRAPH.CENTER
font = dentro.font
font.color.rgb = RGBColor(255,0,0) # Red
# Third cell : Right
texto = 'RIGHT'
dentro = fila[2].paragraphs[0]
dentro.add_run(texto)
dentro.aligment = WD_ALIGN_PARAGRAPH.RIGHT
document.save('demo.docx')
我有两个问题:第一个是我在添加颜色时没有在中间单元格中正确对齐。第二个是在中间一个错误输出后的单元格中,对齐似乎不起作用。我该如何解决?我必须等到下一个版本(实际 0.8.10)吗?谢谢,
中间单元格的代码不同。您分配新的 运行 dentro
而不是段落。这会导致将对齐值分配给 运行,而它什么都不做。
变化:
dentro = fila[1].paragraphs[0].add_run(texto)
至:
dentro = fila[1].paragraphs[0]
run = dentro.add_run(texto)
font = run.font
font.color.rgb = RGBColor(255, 0, 0)
我不确定如何解释第三个单元格上的 RIGHT
对齐而不是 "taking";我会进行此修复,然后看看您的进展情况。
我正在尝试用 python-docx 制作 table。 这是我想要的输出:
¡--OK(粗体)--¡--MIDDLE(红色)--¡----RIGHT¡
这就是我得到的:
¡--OK(粗体)--¡MIDDLE(红色)----¡RIGHT----¡
我使用的代码是:
from docx import Document
from docx.shared import RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
document = Document()
table = document.add_table(rows=1, cols=3, style='Table Grid')
fila = table.rows[0].cells
# First cell: OK in bold
texto = 'OK'
dentro = fila[0].paragraphs[0]
dentro.add_run(texto).bold = True
dentro.alignment = WD_ALIGN_PARAGRAPH.CENTER
# Second cell: Middle in red
texto = 'MIDDLE'
dentro = fila[1].paragraphs[0].add_run(texto)
dentro.alignment = WD_ALIGN_PARAGRAPH.CENTER
font = dentro.font
font.color.rgb = RGBColor(255,0,0) # Red
# Third cell : Right
texto = 'RIGHT'
dentro = fila[2].paragraphs[0]
dentro.add_run(texto)
dentro.aligment = WD_ALIGN_PARAGRAPH.RIGHT
document.save('demo.docx')
我有两个问题:第一个是我在添加颜色时没有在中间单元格中正确对齐。第二个是在中间一个错误输出后的单元格中,对齐似乎不起作用。我该如何解决?我必须等到下一个版本(实际 0.8.10)吗?谢谢,
中间单元格的代码不同。您分配新的 运行 dentro
而不是段落。这会导致将对齐值分配给 运行,而它什么都不做。
变化:
dentro = fila[1].paragraphs[0].add_run(texto)
至:
dentro = fila[1].paragraphs[0]
run = dentro.add_run(texto)
font = run.font
font.color.rgb = RGBColor(255, 0, 0)
我不确定如何解释第三个单元格上的 RIGHT
对齐而不是 "taking";我会进行此修复,然后看看您的进展情况。