作者:小小明

今天分享一个好玩的炫技技巧:绘制Excel字符画

比如我们有这样一张图片:

image-20210103165943657

想把它画到excel上:

image-20210103170103085

该如何实现呢?

python几分钟内轻松实现!看看代码吧:

from openpyxl.utils import get_column_letter
from openpyxl.styles import PatternFill
from openpyxl import Workbook
from PIL import Image

im = Image.open("logo2.jpg")
im = im.resize((80, 80))
data = im.load()

book = Workbook()
sheet = book.active
for row in range(1, im.height+1):
    for col in range(1, im.width+1):
        p = data[col-1, row-1]
        color = f"{p[0]:0>2x}{p[1]:0>2x}{p[2]:0>2x}"
        sheet.cell(row, col).fill = PatternFill(
            fill_type="solid", fgColor=color)
    sheet.row_dimensions[row].height = 3
for col in range(1, im.width+1):
    sheet.column_dimensions[get_column_letter(col)].width = 0.5

book.save("t.xlsx")

上面代码即可将图片logo2.jpg转为t.xlsx的字符图。

如果你缺少部分库,无法运行,可以使用pip安装:

pip install pillow
pip install openpyxl

本文转载:CSDN博客