利用Python的第三方库openpyxl实现在Excel中画图
利用Python的第三方库openpyxl实现在Excel中画图
今天在写测试用例的时候利用背景色标记不同级别的用例,联想到日本一个老人在Excel上作画的想法,突发奇想利用Python操作Excel改变背景色来作图,首先就要用到可以操作Excel的第三方库openpyxl,之前想用xlwt的但是这个包只支持Excel的列上限是256列,显然不满足要求,总体思路是:利用PIL库的Image对象获取想要画的图片的所有像素点的RGB值,在利用openpyxl设置Excel的单元格的背景色为该颜色,保存后还要打开Excel自己设置下列的宽度因为我没找到那个方法可以设置全局宽度,又不想一个个设置,好在Excel可以手动设置,我设置的宽度值为1.3 废话不多说了 上代码吧!(不足之处还请指点)
from openpyxl import Workbook
from openpyxl.styles import PatternFill
from PIL import Image
im =Image.open(‘haha.png’)
width,heigth=im.size
li=[]
col=[]
for i in range(width): #将获取到的元素像素点颜色存入列表
for j in range(heigth):
t=im.getpixel((i,j))
li.append(t)
for m in li: #将元素颜色转化成颜色字符串
#s=str(hex(m[0]+m[1]*256+m[2]*65536))
s=str(hex(m[2]+m[1]*256+m[0]*65536))
word=str(s[2:len(s)])
if len(word)==6:
col.append(word)
elif len(word)==5:
col.append(‘0’+word)
elif len(word)==4:
col.append(‘00’+word)
elif len(word)==3:
col.append(‘000’+word)
elif len(word)==2:
col.append(‘0000’+word)
elif len(word)==1:
col.append(‘00000’+word)
#2-新建一个工作簿
wb = Workbook()
ws = wb.active
for x in range(1,width+1): #逐个设置单元格的背景色
for y in range(1,heigth+1):
fill = PatternFill(“solid”, fgColor=col[(x-1)*heigth+y-1])
ws.cell(y,x).fill=fill
#保存文件
wb.save(‘picturemei.xlsx’)
- 利用python的第三方openpyxl模块做Appium数据驱动测试
- python 利用openpyxl包处理excel数据并作图
- 利用Python实现:将图片转化为Excel并保存
- python︱利用dlib和opencv实现简单换脸、人脸对齐、关键点定位与画图
- python selenium - 利用excel实现参数化
- Python 读写操作Excel —— 安装第三方库(xlrd、xlwt、xlutils、openpyxl)
- 利用xlrd模块实现Python读取Excel文档
- Python利用pyHook实现监听用户鼠标与键盘事件
- 利用Python中SocketServer 实现客户端与服务器间非阻塞通信
- python实现关闭第三方窗口
- 关于python第三方库的treelistctrl的单元框实现编辑
- 利用java反射机制实现通用Excel导出
- 利用Python实现google瓦片转Arcgis瓦片
- Python3实现从mysql导出数据到excel
- 利用Python实现一个感知机学习算法
- 基于Tkinter利用python实现颜色空间转换程序
- 利用python微信库itchat实现微信自动回复功能
- 利用PHP-ExcelReader实现PHP导入Excel数据[不通过CSV]
- 利用python快速实现不同机器间文件夹共享
- 利用Python实现微信找房机器人实例教程