微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

该函数是否可以从 Tk 的导入条目中获取值?

如何解决该函数是否可以从 Tk 的导入条目中获取值?

所以我想运行 Tk() 并在那里导入一些值。然后将通过一个函数检查这些值,该函数将替换 excel 中特定单元格中的值。与一个导入条目匹配的单元格。我的挑战是,如果我手动将值放入程序中,该函数将起作用并替换,但如何从我输入的 Tk() 中读取值?我做了一个按钮,以便在我导入输入字段中的值后该功能将运行,但仍然没有。 replace() 函数中的“sntake”和“sngive”似乎不起作用......我错过了什么?

代码

from tkinter import *
import pandas as pd
from xlutils.copy import copy
from openpyxl import *
from openpyxl.utils.cell import get_column_letter
import openpyxl



app = Tk()

app.geometry("500x500")

app.title("S/N Management")

heading = Label(text="S/N Management",fg="black",bg="green",width="500",height="3",font="10")

heading.pack()

sngive_text = Label(text="S/N of the delivered ")
sntake_text = Label(text="S/N of the recieved  ")

sngive_text.place(x=15,y=80)
sntake_text.place(x=15,y=160)

sngive = StringVar()
sntake = StringVar()


sngive_entry = Entry(textvariable=sngive,width="30")
sntake_entry = Entry(textvariable=sntake,width="30")


sngive_entry.place(x=15,y=100)
sntake_entry.place(x=15,y=180)

def replace():
    wb = openpyxl.load_workbook('Tracker.xlsx')
    wb.sheetnames
    sheet = wb["serials"]
    amountOfRows = sheet.max_row
    amountOfColumns = sheet.max_column

    for i in range(amountOfColumns):
        for k in range(amountOfRows):
            cell = str(sheet[get_column_letter(i+1)+str(k+1)].value)
            if( str(cell) == sntake):
                newCell = sngive
                sheet[get_column_letter(i+1)+str(k+1)]=newCell

                wb.save('tracker_updated.xlsx')



button = Button(app,text="Submit Data",command=replace,width="30",height="2",bg="grey")

button.place(x=140,y=420)


mainloop()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。