编程生成Excel内图表 生成柱状图和条形图

编程生成Excel内图表 生成柱状图和条形图

插入图片

from openpyxl import load_workbook
from openpyxl.drawing.image import Image

workbook=load_workbook(filename='')
sheet=workbook.active

logo=Image('1.jpg')
logo.heigth=100
logo.wight=100
sheet.add_image(logo,'A1')
workbook.save(filename='./new_book.xlsx')

生成图表

插入柱状图

from openpyxl import load_workbook
from openpyxl.chart import BarChart,Reference
workbook=load_workbook(filename='./new_book.xlsx')
sheet=workbook.active

chart=BarChart() # 实例化对象 创建一个柱状图
#规定数据的范围 
data=Reference(worksheet=sheet,min_row=1,max_row=8,min_col=2,max_col=3)
# 定义X轴的名称
category=Reference(sheet,min_col=1,min_row=2,max_row=8)

# 给柱状图添加数据,数据源中有标题,也就是第一行有数据
chart.add_data(data,titles_from_data=True)
chart.set_categories(category) # 设定x轴类目
sheet.add_chart(chart,'E3')
workbook.save(filename='./new_book.xlsx')

比较简单,具体效果需要自己测试

编程生成Excel内图表 生成柱状图和条形图

插入条形图

from openpyxl import load_workbook
from openpyxl.chart import LineChart,Reference
workbook=load_workbook(filename='./book.xlsx')
sheet=workbook.active

chart=LineChart() # 实例化对象 创建一个条形图
data=Reference(worksheet=sheet,min_row=2,max_row=3,min_col=1,max_col=9)
# 定义X轴的名称
category=Reference(sheet,min_col=2,max_col=9,min_row=1)

chart.add_data(data,from_rows=True,titles_from_data=True)
chart.set_categories(category) # 设定x轴类目
sheet.add_chart(chart,'G5')
workbook.save(filename='./book.xlsx')

效果图如下

编程生成Excel内图表 生成柱状图和条形图

如果出现图标数据错误,就是你的数据范围没有定义准确!

分享到 :

发表评论

登录... 后才能评论