from tkinter import *
from openpyxl import *
我想由用户使用创建的GUI将信息保存到此工作簿中。
master = Tk()
wb = load_workbook('C:\\Users\\broc\\PycharmProjects\\GLTDB\\gltdb.xlsx')
sheet = wb.active
# Excel sheet location
sheet.cell(row=1,column=1).value = "Date"
sheet.cell(row=2,column=1).value = "Production Hour"
sheet.cell(row=3,column=1).value = "Production"
sheet.cell(row=4,column=1).value = "Scrap"
sheet.cell(row=5,column=1).value = "Operators"
# Function to take data from GUI put into Excel
def insert():
if (date.get() == "" and
prodhour.get() == "" and
production.get() == "" and
scrap.get() == "" and
operators.get() == ""):
print("empty input")
else:
current_row = sheet.max_row
current_column = sheet.max_column
sheet.cell(row=current_row + 1,column=1).value = date.get()
sheet.cell(row=current_row + 1,column=2).value = prodhour.get()
sheet.cell(row=current_row + 1,column=3).value = production.get()
sheet.cell(row=current_row + 1,column=4).value = scrap.get()
sheet.cell(row=current_row + 1,column=5).value = operators.get()
wb.save('C:\\Users\\broc\\PycharmProjects\\GLTDB\\gltdb.xlsx')
date.focus_set()
clear()
# GUI
master.title("Enter Production results here.")
master.geometry("350x200")
master.config(background='lightblue',borderwidth=5)
# Labels for GUI
date = Label(master,text="Date",bg='lightblue').grid(row=0)
prodhour = Label(master,text="Production Hour",bg='lightblue').grid(row=1)
production = Label(master,text="Production",bg='lightblue').grid(row=2)
scrap = Label(master,text="Scrap",bg='lightblue').grid(row=3)
operators = Label(master,text="Operators",bg='lightblue').grid(row=4)
# Entries for GUI
date = Entry(master).grid(row=0,column=1)
prodhour = Entry(master).grid(row=1,column=1)
production = Entry(master).grid(row=2,column=1)
scrap = Entry(master).grid(row=3,column=1)
operators = Entry(master).grid(row=4,column=1)
我知道Submit按钮需要一个命令,但是我不确定从哪里开始进行此操作。我希望用户点击“提交”并将数据转到excel表,然后在GUI窗口中我希望它清除内容或自动关闭。
# Command Buttons
submit = Button(master,text="Submit").grid(row=5,column=1,stick=W,pady=4)
Button(master,text='Cancel',command=master.quit).grid(row=5,column=2,sticky=W,pady=4)
mainloop()