当你看到修改“text”属性的时候有没有感觉有点熟悉?没错,实际上修改_Cell对象的text就是在修改文本框的文本,即修改的是TextFrame对象的text属性,我们可以通过访问_Cell对象的text_frame属性获得它的TextFrame对象。
所以事情变得简单了,如果你在学习文本框的时候有认真对待,修改单元格就没什么难度了,因为文本框的文本是由段落和Run对象控制的,而如何修改段落和Run,我们早在学习python-docx的时候就学过了。但是这里还是简单举一些例子方便你回忆吧,如果你还是不熟悉,就趁机练习这部分,这种基础操作到处可见,必须要掌握,代码如下:
from pptx import Presentation
from pptx.dml.color import RGBColor
from pptx.enum.text import PP_PARAGRAPH_ALIGNMENT,MSO_VERTICAL_
ANCHOR
from pptx.util import Cm,Pt
ppt = Presentation()
slide = ppt.slides.add_slide(ppt.slide_layouts[6])
table = slide.shapes.add_table(4,3,Cm(3),Cm(3),Cm(20),
Cm(10)).table
# 获取TextFrame对象
text_frame = table.cell(0,0).text_frame
# TextFrame垂直方向居中对齐
text_frame.vertical_anchor = MSO_VERTICAL_ANCHOR.MIDDLE
# 获取文本框的第一个段落
paragraph = text_frame.paragraphs[0]
# 修改段落的文本内容
paragraph.text = "Python"
# 段落(水平)居中对齐
paragraph.alignment = PP_PARAGRAPH_ALIGNMENT.CENTER
# 获取段落的第一个Run对象
run = paragraph.runs[0]
# 修改字体
run.font.name = "微软雅黑"
run.font.size = Pt(20)
run.font.color.rgb = RGBColor.from_string("ffffff")
# 修改填充色
fill = table.cell(0,0).fill
fill.solid()
fill.fore_color.rgb = RGBColor.from_string("708069")
ppt.save("./ppt_ files/test.pptx")
关于文本的样式就不多提了,但填充色还是简单提一下。因为表格是一种形状,所以它也应该可以被填充,我们访问_Cell对象的f i ll属性就能拿到一个FillFormat对象,在学习填充形状颜色的时候就是用它控制形状的颜色的,要是忘了的话可以再翻回去瞄一眼。