python3版本,无需安装pil
图片尺寸在用之前最好等比例改成360以下,不然会太大,没法看完整
import PIL
from PIL import Image
import openpyxl
from openpyxl.styles import PatternFill, Fill
imageFileName = ('D:/1/2.jpg') #原始图片保存目录
image = Image.open(imageFileName) #可以用image.show()来看是不是选对了图片
wb = openpyxl.Workbook()
sheet = wb.create_sheet(title='Sheet1',index=0) #如果没有(title='Sheet1',index=0) 会报错
imgW, imgH = image.size #读大小
for w in range(imgW): #遍历循环 一些死代码
for h in range(imgH):
rgba = image.getpixel((w,h))
colorHex = hex(rgba[0])[2:].zfill(2) + hex(rgba[1])[2:].zfill(2) + hex(rgba[2])[2:].zfill(2)
fill = PatternFill(fill_type = 'solid', start_color=colorHex, end_color=colorHex)
sheet.cell(row = h + 1, column = w + 1).fill = fill
wb.save(imageFileName + '.xlsx') #xls可能会打不开
print("done!") #跑完告诉你一声
保存的excel文件,按代码跑是没问题的,但会有如下图无法打开的情况“发现xxx部分内容有问题,是否让我们尽量尝试恢复”,经过测试,是原图片有问题,不要用别的软件去把原图转成像素。
解决方法是换个图片