用python搞一个对话框打开xlsx文件对一些值进行筛选并显示

用python搞一个对话框打开xlsx文件对一些值进行筛选并显示,第1张

项目场景:

搞一个对话框,选择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()

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/718784.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存