一、准备
需要模块: from openpyxl.workbook import Workbook from openpyxl.chart import Series,LineChart, Reference
1.1 建表,画图
openpyxl支持利用工作表中单元格的数据,创建条形图、折线图、散点图等步骤:
wb = Workbook()
ws = wb.create_sheet("{0}蒸汽压力记录表".format("样品名称"), 0)
从将表格中涉及的要画图的数据使用:Reference 创建一个对象 比如:我选取 data = Reference(ws, min_col=5, min_row=4, max_col=10, max_row=4) 参数含义:ws 一个活跃的sheet,数据来源。可以使用ws = wb.active 获取 其他的就是指定这个表中的行列数据了:起始行、起始列、终止行、终止列通过传入Reference对象,创建一个Series对象创建一个Chart对象可选择的设置Chart对象的长(drawing.height)、宽(drawing.width)、坐标位置(drawing.top、drawing.left)。将Chart对象添加到Worksheet对象。
chart = LineChart() #图表对象
data = Reference(ws, min_col=5, min_row=4, max_col=10, max_row=4) #涉及数据
seriesObj = Series(data, title='压力') #创建series对象
chart.append(seriesObj) #添加到chart中
ws.add_chart(chart, "A6") #将图表添加到 sheet中
1.2 其他方式画图
一个饼图
from openpyxl import load_workbook
from openpyxl import Workbook
from openpyxl.chart import BarChart, Reference, Series
wb = load_workbook('e:\\sample.xlsx')
ws1=wb.active
wb = Workbook()
ws = wb.active
for i in range(10):
ws.append([i])
values = Reference(ws, min_col=1, min_row=1, max_col=1, max_row=10)
chart = BarChart()
chart.add_data(values)
ws.add_chart(chart, "E15")
# Save the file
wb.save("e:\\sample.xlsx")
3.1.2 作者最近工作用的一个图
import uuid
import stri