import base64
import psycopg2
from openpyxl import load_workbook
from openpyxl_image_loader import SheetImageLoader
conn = psycopg2.connect(host="127.0.0.1", database="test", user="******", password="******")
def extract_images(slsx_fn):
workbook = load_workbook(filename=slsx_fn)
# 2.通过 sheet 名称获取表格
ws = workbook["sheet1"]
image_loader = SheetImageLoader(ws)
cursor = conn.cursor()
for index, row in enumerate(ws.rows, start=1):
if image_loader.image_in(f'Q{index}'):
image = image_loader.get(f'Q{index}')
name = row[0].value
print("***************")
image.save("./pic/" + str(name) + '.png')
pic = open("./pic/" + str(name) + '.png', "rb")
pic_base64 = str(base64.b64encode(pic.read()), encoding='utf-8')
sttr = "data:image/png;base64," + str(pic_base64)
update_sql = f"update testset avatar='{sttr}' where id={name}"
print(name)
cursor.execute(update_sql)
conn.commit()
extract_images('./0505_最终-非洲尼日利亚-程序.xlsx')