表格作为一种强大的数据可视化工具,在 powerpoint 演示文稿中扮演着关键角色。其设计基于行和列的有序结构,使得各类文本、数值和其他类型的信息能够在单元格内精确呈现。在制作演示文稿时,插入表格能够让用户有效地构建和展示经过整理的数据内容,从而使幻灯片显得更有逻辑层次。相较于单纯的文本叙述,表格更能凸显各组数据之间的对比关系,增强数据的易读性与直观性,进而提升观众对演示内容的理解深度和接受度。本文将指导如何运用 spire.presentation for python 在 powerpoint 中添加和编辑表格。
安装 spire.presentation for python
本教程需要 spire.presentation for python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 vs code 中。
pip install spire.presentation
如果您不确定如何安装,请参考此教程: 如何在 vs code 中安装 spire.presentation for python
python 向 powerpoint 添加表格
spire.presentation for python 提供了 presentation.slides[].shapes.appendtable(x: float, y: float, widths: list[float], heights: list[float]) 方法,用于向 powerpoint 演示文稿中添加表格。具体操作步骤如下:
- 创建 presentation 类的对象。
- 使用 presentation.loadfromfile() 方法加载示例演示文稿。
- 定义表格的尺寸。
- 调用 presentation.slides[].shapes.appendtable(x: float, y: float, widths: list[float], heights: list[float]) 方法在演示文稿的指定幻灯片中添加一个表格。
- 将表格数据定义为二维字符串数组。
- 遍历数组,并使用 itable[columnindex, rowindex].textframe.text 属性将数据填充到表格的每个单元格中。
- 设置单元格文本的字体名称和字体大小。
- 将表格的第一行对齐方式设置为居中。
- 使用 itable.stylepreset 属性应用内置样式到表格。
- 使用 presentation.savetofile() 方法保存结果文件。
- python
from spire.presentation.common import *
import math
from spire.presentation import *
inputfile = "模板.pptx"
outputfile = "创建表格.pptx"
# 创建 presentation 类的对象
presentation = presentation()
# 加载一个演示文稿
presentation.loadfromfile(inputfile)
# 定义表格列宽度
widths = [100, 100, 100, 100, 100]
# 定义表格行高度
heights = [25, 25, 25, 25, 25, 25, 25, 25, 25]
# 计算表格左边距离
left = math.trunc(presentation.slidesize.size.width / float(2)) - 250
# 在第一页幻灯片上添加表格
table = presentation.slides[0].shapes.appendtable(left, 150, widths, heights)
# 将表格数据定义为二维字符串数组
datastr = [["产品id", "产品名称", "销售数量(斤)","单价(元/斤)","销售额(元)"],
["001", "香蕉", "800","3.0","2400.00"],
["002", "苹果", "500","6.5","3250.00"],
["003", "菠萝", "500","5.0","2500.00"],
["004", "芒果", "200","6.0","1200.00"],
["005", "橙子", "1000","5.0","5000.00"],
["006", "柠檬", "300","7.0","2100.00"],
["007", "枇杷", "120","10.0","1200.00"],
["008", "草莓", "600","30.00","18000.00"]]
# 循环遍历数组
for i in range(0, len(datastr)):
for j in range(0, len(datastr[0])):
# 使用这些数据填充表格的每个单元格
table[j,i].textframe.text = datastr[i][j]
# 设置字体名称和字体大小
table[j,i].textframe.paragraphs[0].textranges[0].latinfont = textfont("微软雅黑")
table[j,i].textframe.paragraphs[0].textranges[0].fontheight = 12
# 将表格的第一行对齐方式设置为居中
for i in range(0, len(datastr[0])):
table[i,0].textframe.paragraphs[0].alignment = textalignmenttype.center
# 应用样式到表格
table.stylepreset = tablestylepreset.lightstyle3accent1
# 保存结果文件
presentation.savetofile(outputfile, fileformat.pptx2013)
# 释放对象
presentation.dispose()
python 编辑 powerpoint 中的表格
您还可以根据需要编辑演示文稿中的表格,例如替换数据、更改样式、突出显示数据等。以下是详细步骤:
- 创建 presentation 类的对象。
- 使用 presentation.loadfromfile() 方法加载示例演示文稿。
- 将用于替换的数据存储在一个字符串中。
- 遍历第一张幻灯片中的形状,获取表格。
- 使用 itable.stylepreset 属性更改表格的内置样式。
- 使用 itable[columnindex, rowindex].textframe.text 属性替换特定单元格的数据。
- 使用 itable[columnindex, rowindex].textframe.textrange.highlightcolor.color 属性高亮显示新数据。
- 使用 presentation.savetofile() 方法保存结果文件。
- python
from spire.presentation.common import *
from spire.presentation import *
inputfile = "创建表格.pptx"
outputfile = "编辑表格.pptx"
# 创建presentation类的对象
presentation = presentation()
# 加载示例演示文稿
presentation.loadfromfile(inputfile)
# 需要替换的数据数组
strs = ["002", "水蜜桃", "300", "8.0", "2400.00"]
table = none
# 遍历第一张幻灯片中的形状
for shape in presentation.slides[0].shapes:
# 判断形状是否为表格
if isinstance(shape, itable):
table = shape
# 设置表格样式
table.stylepreset = tablestylepreset.lightstyle1accent2
# 使用循环替换特定单元格的数据
for i, unuseditem in enumerate(table.columnslist):
# 替换单元格中的数据
table[i,2].textframe.text = strs[i]
# 高亮显示新数据
table[i,2].textframe.textrange.highlightcolor.color = color.get_yellow()
# 保存结果文件
presentation.savetofile(outputfile, fileformat.pptx2013)
# 释放对象
presentation.dispose()
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。