2017年 07月 13日
#!/usr/bin/env python
from PIL import Image, ImageColor
import openpyxl
from openpyxl.styles import PatternFill
from openpyxl.utils import get_column_letter
def coltostr(coltuple):
r, g, b = coltuple
a = 255
return format(((a*256+r)*256+g)*256+b, '08X')
def image2excel(imagefile,excelfile,sheetname):
im = Image.open(imagefile)
width, height = im.size
wb = openpyxl.load_workbook(excelfile)
sheet = wb.get_sheet_by_name(sheetname)
# セルサイズの調整
for x in range(0,width):
sheet.column_dimensions[get_column_letter(x+1)].width = 1
for y in range(0,height):
sheet.row_dimensions[y+1].height = 5.7
# 画像ファイル ⇒ Excelワークシート
for x in range(0,width):
for y in range(0,height):
colstr = coltostr(im.getpixel((x,y)))
cell = sheet.cell(row=y+1, column=x+1)
cell.fill = PatternFill(fill_type='solid',fgColor=colstr)
wb.save(excelfile)
im.close()
image2excel("アンパン.jpg","アンパン.xlsx","アンパン")