python3版本,无需安装pil
图片尺寸在用之前最好等比例改成360以下,不然会太大,没法看完整
import PILfrom PIL import Imageimport openpyxlfrom openpyxl.styles import PatternFill, FillimageFileName = ('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 = fillwb.save(imageFileName + '.xlsx') #xls可能会打不开print("done!") #跑完告诉你一声
保存的excel文件,按代码跑是没问题的,但会有如下图无法打开的情况“发现xxx部分内容有问题,是否让我们尽量尝试恢复”,经过测试,是原图片有问题,不要用别的软件去把原图转成像素。
解决方法是换一个版本的图片,除了改尺寸,不要动别的