【Python】20行代码Excel画出Alice

代码如下,照着注释就能看懂了。简单来说就是使用OpenCV来获取图片大小以及像素,遍历给每个Excel格子赋上相应的颜色,同时设置一下列宽使得格子接近方形,这样就能在Excel中显示图片了。

Python Excel画图Demo

问题:
图片太大最后保存的Excel无法正常打开

git clone https://github.com/MisakaMikoto128/DrawExcel.git
from openpyxl.styles import PatternFill
from openpyxl.utils import get_column_letter
from openpyxl import Workbook
import cv2 as cv
def bgr2hex(bgr):
    (b, g, r) = (bgr)
    return hex(r << 16 | g << 8 | b).replace('0x','').zfill(6)
def 在Excel中画(img):
    W, H, C = img.shape
    for w in range(W):
        sht.column_dimensions[get_column_letter(w + 1)].width = 2.15  #改列宽
        for h in range(H):
            sht.cell(w + 1, h + 1).fill = PatternFill("solid", fgColor=bgr2hex(img[w, h]))#给格子填充颜色
img = cv.imread("Alice2.jpg")#读取图片
wb = Workbook()#新建一个Workbook对象
sht = wb.worksheets[0]#打开第一张表单
# size = img.shape#获取图片大小(长,宽,通道数)
# img = cv.resize(img,(int(size[0]*0.5),int(size[1]*0.5)),cv.INTER_LINEAR)#缩放图片,图片太大会出问题
在Excel中画(img)
wb.save("Alice.xlsx")#保存

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值