功能块一:打开excel
功能块二:绘制图表
- LineChart对象的方法
chart = LineChart()
chart.add_data(data,from_rows=True,titles_from_data=True)
#from_rows = True意味着按照行数据画图
#from_rows = False意味着按照列数据画图
#titles_from_data =True 意味着取数据范围的第一列作为标题
#titles_from_data = False 意味着选取的全部数据用于画图,没有数据用作标题
chart.set_categories()
- LineChart对象的属性
chart.x_axis.title = ''
chart.y_axis.title = ''
chart.style = 48
3.Reference 对象
data = Reference(worksheet=ws,min_row=,max_row=,min_col=,max_col=)
4.工作表对象
ws.add_chart(chart,anchor='C12')
#将绘制好的图表放在工作表的什么位置
功能块三:图表标题、样式优化
功能块四:保存excel
完整代码
import os
from openpyxl import load_workbook
from openpyxl.chart import LineChart, Reference
# 设置目标文件夹路径
path = './部门利润表汇总/'
# 获取文件夹下的所有文件名
file_list = os.listdir(path)
# 遍历文件名列表,取得每一个文件名
for file_name in file_list:
# 拼接文件路径
file_path = path + file_name
# 读取工作簿
wb = load_workbook(file_path)
# 读取工作簿中的活跃工作表
ws = wb.active
# 实例化 LineChart() 类,得到 LineChart 对象
chart = LineChart()
# 引用工作表的部分数据
data = Reference(worksheet=ws,min_row=3,max_row=9,min_col=1,max_col=5)
# 添加被引用的数据到 LineChart 对象
chart.add_data(data,from_rows=True,titles_from_data=True)
# 添加 LineChart 对象到工作表中,指定折线图的位置
ws.add_chart(chart,'C12')
# 引用工作表的表头数据
cats = Reference(worksheet=ws,min_row=2,max_row=2,min_col=2,max_col=5)
# 设置类别轴的标签
chart.set_categories(cats)
# 设置 x 轴的标题
chart.x_axis.title = '季度'
# 设置 y 轴的标题
chart.y_axis.title = ' 利润'
# 改变线条颜色
chart.style = 48
# 保存文件
wb.save(file_path)
# 打印"绘制Excel的图成功!"
print('绘制Excel的图成功!')