简单查询 python读写excel文件

第一次用python写小程序,有很多累赘

不知道为什么在手机上修改的值保存不了,郁闷啊
import os.path
import openpyxl
import tkinter as tk
wk=tk.Tk()
#wk.title="Libs seek"
#wk.geometry("900x300")

cell=""
xls="text.xlsx"
excel=""
sheet=""
lh=[]
kw=[]

def on_close():
    # 在这里可以添加关闭窗口前的处理逻辑
    print("窗口即将关闭")
    sheet.close()
    excel.close()
    wk.destroy()  # 关闭窗口

wk.protocol("WM_DELETE_WINDOW", on_close)

label=tk.Label(wk,text="料号:")
label.place(x=150,y=120)
#label.pack()

sts=tk.Label(wk,text="")#库位显示
#sts.pack(side=tk.BOTTOM)
sts.place(x=200,y=500)

edit=tk.Entry(wk)
edit.place(x=300,y=120)

newkw=tk.Entry(wk)
newkw.place(x=300,y=300)

if os.path.exists(xls):
    excel=openpyxl.load_workbook(xls)
    sheet=excel.active
    lh = [cell.value for cell in sheet['A']]
    kw = [cell.value for cell in sheet['B']]
    #cell=sheet["A1"].value
    #print(cell)
    #label.text=cell
    #sheet["B1"]="hello Python"
    excel.save(xls)
else:
    excel=openpyxl.Workbook()
    sheet=excel.active
    sheet["A1"]="料号"
    sheet["B1"]="库位"
    excel.save(xls)

def settext():
    tt=seekkw()#edit.get()
    if tt>0:
        sts.config(text="库 位:  "+kw[tt])
    edit.select_range(0,len(edit.get()))
    edit.icursor(tk.END)
  
def setnewkw():
    tt=seekkw()
    #excel=openpyxl.load_workbook(xls)
    #sheet=excel.active
    if tt>0:
        kw='B'
        sheet[f'{kw}{tt}']=newkw.get()
        sts.config(text=sheet[f'B{tt}'].value)
        excel.save(xls)
    else:
        sheet.append([edit.get(),newkw.get()])
        excel.save(xls)
    #excel.close()
    return""
  
bt1=tk.Button(wk,text="显示",command=settext)
bt1.place(x=800,y=110)
bt2=tk.Button(wk,text="新库位",command=setnewkw)
bt2.place(x=800,y=290)
#button.pack(side=tk.BOTTOM)

def seekkw():
    tt=edit.get()
    # 读取第一行的数据
    #first_row = [cell.value for cell in sheet[1]]
    #print(first_row)
    # 读取第一列的数据
    lh = [cell.value for cell in sheet['A']]
    kw = [cell.value for cell in sheet['B']]
    #print(first_column)
    i=0
    for v in lh:
        if v==tt:
            return (i)#("库位:"+kw[i])
        i=i+1
    return(-1)
  
wk.mainloop()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值