搞一个对话框,选择xlsx文件,打开后显示, *** 作对一些值进行筛选并显示。
解决方案:提示:这里填写该问题的具体解决方案:
需要import的为:
import tkinter as tk
from tkinter import filedialog
from tkinter import scrolledtext
import openpyxl
建立对话框:
root = tk.Tk()
root.title(‘计算器’)
root.geometry(“900x600+100+100”)
root.attributes(“-alpha”, 0.9)
root[“background”] = “#ffffff”
lists = []
result_num = tk.StringVar()
result_num.set(‘0’)
filename = tk.StringVar()
filename.set(‘please select file’)
data_number = 1
一个按钮、一个选中xlsx的显示标签,一个结果显示列表。建立资源:按钮、标签、列表
button_openfile = tk.Button(root, text=‘Open XLSX File’, width=20, height=2, font=(‘宋体’, 16), relief=‘flat’, background=‘#C0C0C0’, command=lambda: openfile())
button_openfile.grid(padx=4, row=6, column=1, columnspan=3)
lable2 = tk.Label(root, textvariable=filename, width=50, height=2, font=(‘宋体’, 12), justify=‘left’, background=‘#ffffff’, anchor=‘se’)
lable2.grid(padx=4, row=0, column=5, columnspan=3)
msFont = ‘微软雅黑’ #字体
fontSize = 15 #字体大小
show_file = scrolledtext.ScrolledText(root,font=(msFont,fontSize))
show_file.place(width=500,height=500,x=350,y=50)
show_file.insert(tk.INSERT, “hello, let’s begin”)
响应函数为:
def openfile():
name = tk.filedialog.askopenfilename(filetypes=[(‘XLSX’, ‘*.xlsx’)])
filename.set(name)
if name != '':
wb = openpyxl.load_workbook(name)
global data_number
sheet = wb.get_sheet_by_name('sheet1')
show_file.insert(tk.INSERT, "\n" + str(data_number) + ' ' + sheet['A1'].value)
data_number += 1
c = sheet['B22']
show_file.insert(tk.INSERT, "\n" + str(data_number) + ' ' + c.value)
data_number += 1
show_file.insert(tk.INSERT, "\n" + str(data_number) + ' Row ' + str(c.row) + ', Column ' + str(c.column) + ' is ' + c.value)
data_number += 1
show_file.insert(tk.INSERT, "\n" + str(data_number) + ' Cell ' + c.coordinate + ' is ' + c.value)
data_number += 1
show_file.insert(tk.INSERT, "\n" + str(data_number) + ' The max row is ' + str(sheet.max_row))
data_number += 1
show_file.insert(tk.INSERT, "\n" + str(data_number) + ' The max column is ' + str(sheet.max_column))
data_number += 1
for i in range(3, sheet.max_row+1):
for j in range(1, sheet.max_column+1):
show_file.insert(tk.INSERT, "\n" + str(data_number) + ' Row ' + str(i) + ', Column ' + str(j) + ' is ' + sheet.cell(row=i,column=j).value)
data_number += 1
for i in range(3, sheet.max_row+1):
for j in range(1, sheet.max_column+1):
if sheet.cell(row=i, column=j).value == '胡慧中':
show_file.insert(tk.INSERT, "\n" + str(data_number) + ' The value "邀请招标" locates in Row ' + str(i) + ', Column ' + str(j))
show_file.insert(tk.INSERT, "\n" + str(data_number) + ' ' + sheet.cell(row=i, column=5).value + ' is "邀请招标"')
data_number += 1
show_file.see(tk.END)
最后:
root.mainloop()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)