|
已解答
from tkinter import filedialog
from tkinter import messagebox
from openpyxl import load_workbook
from openpyxl_image_loader import SheetImageLoader
import tkinter as tk
import os
def get_pic():
if os.path.exists(save_dir)!=True:
os.mkdir(save_dir)
spu = spu_entry.get().upper()
image = img_entry.get().upper()
wb = load_workbook(file_folder)
ws = wb.active
img_loader = SheetImageLoader(ws)
dict1={}
for i in range(1,ws.max_row):
print(i)
try:
kuanhao=ws[spu + str(i)].value
if kuanhao not in dict1.keys():
dict1[kuanhao]=[0]
file_name =save_dir +'\\' +kuanhao + '.jpg'
imgs = img_loader.get(image + str(i))
imgs = imgs.convert('RGB')
imgs.save(file_name)
print(file_name)
else:
dict1[kuanhao].append(dict1[kuanhao][-1]+1)
file_name =save_dir +'\\' +kuanhao +'_' +str(dict1[kuanhao][-1])+'.jpg'
imgs = img_loader.get(image + str(i))
imgs = imgs.convert('RGB')
imgs.save(file_name)
except ValueError:
print('这一行没有图片')
root.destroy()
if __name__ == '__main__':
save_dir = r'C:\Users\weijiangbin\Desktop\img_221228'
file_folder = filedialog.askopenfilename(title='请选择文件',filetypes=[('EXCEL文件','*.xlsx')])
root = tk.Tk()
root.title('输入信息框!')
spu_name = tk.StringVar()
img_name = tk.StringVar()
spu_label = tk.Label(root,text='请输入款号所在列(英文):')
spu_label.grid(row=0,column=0)
spu_entry = tk.Entry(root,textvariable=spu_name)
spu_entry.grid(row=0,column=1)
img_label = tk.Label(root,text='请输入图片所在列(英文):')
img_label.grid(row=1,column=0)
img_entry = tk.Entry(root,textvariable=img_name)
img_entry.grid(row=1,column=1)
confirm_button = tk.Button(root,text="确定",width=10,command=get_pic)
confirm_button.grid(row=2,sticky='e')
root.mainloop() |
|