可视化数据已成为提高演示文稿专业度的关键因素之一。使用Python从Excel读取数据并在PowerPoint幻灯片中创建图表不仅能够极大地简化图表创建过程,还能确保数据的准确性和图表的即时性。通过Python这一桥梁,我们可以轻松实现数据自动化处理和图表生成,进而提升演示文稿的质量和效率。本文将演示如何使用Python读取Excel数据在PPT中创建图表,以及将Excel图表以图片形式插入到幻灯片中。
本文所用的方法需要用到Spire.Presentation for Python和Spire.XLS for Python,PyPI:pip install Spire.Presentation Spire.XLS
。
读取Excel数据在PPT中创建图表
我们可以通过读取Excel工作表数据,然后在幻灯片中创建一个图表并将读取数据设置为图表的数据,最后进行纵横坐标设置,来实现读取Excel数据在演示文稿中创建图表。
操作步骤示例:
- 导入所需模块。
- 创建
Presentation
实例,使用Presentation.SlideSize.Type
属性设置幻灯片大小。 - 创建
Workbook
实例,并使用Workbook.LoadFromFile()
载入Excel文件。 - 使用
ISlide.Shapes.AppendChart()
方法在默认幻灯片中创建一个图表,并使用IChart.ChartData.Clear(0, 0, 5, 5)
方法清除图表的示例数据。 - 通过
Worksheet.AllocatedRange[].Text
读取表头和列头文本,并通过IChart.ChartData[].Text
属性将其设置为图表数据的表头和列头。 - 遍历工作表的数据行和数据列,使用
Worksheet.AllocatedRange[].NumberValue
属性读取数据,并通过IChart.ChartData[].NumberValue
将其设置为图表数据对应单元格的数据。 - 使用
IChart.ChartTitle
下的属性设置图表标题。 - 使用
IChart.Series.SeriesLabel
和IChart.Categories.CategoryLabels
设置图表系列和类别对应的单元格范围。 - 使用
IChart.Series.get_Item().Values
设置系列对应的数据单元格范围。 - 使用
Worksheet.AllocatedRange[].NumberFormat
属性读取Excel数据单元格的数字格式,并通过IChart.PrimaryValueAxis.NumberFormat
将其设置为图表纵坐标的数字格式。 - 设置图表重叠和间隔宽度。
- 使用
Presentation.SaveToFile()
保存演示文稿。 - 释放资源。
代码示例
from spire.presentation import Presentation, FileFormat, SlideSizeType, RectangleF, ChartType, ChartStyle, FillFormatType
from spire.xls import Workbook
# 创建Presentation实例
presentation = Presentation()
# 设置幻灯片尺寸
presentation.SlideSize.Type = SlideSizeType.Screen16x9
# 创建Workbook实例
workbook = Workbook()
# 加载Excel文件
workbook.LoadFromFile("示例.xlsx")
# 获取第一个工作表
sheet = workbook.Worksheets.get_Item(0)
# 向第一张幻灯片添加图表
rect = RectangleF.FromLTRB(50, 100, presentation.SlideSize.<