add drop down

This commit is contained in:
jze9
2025-04-23 23:53:43 +05:00
parent bccbcad79f
commit 00527fd93d
4 changed files with 37 additions and 2 deletions

Binary file not shown.

20
main.py
View File

@@ -2,6 +2,8 @@ import tkinter as tk
from tkinter import filedialog
import algam
import save
from reading_sheet import ReadingSheet
#def Pars():
@@ -14,7 +16,7 @@ import save
def Pars():
data = algam.ReadMifDirectory().find_mif_files(directory=directory_entry.get())
save.SaveDataXLSX(file_path=file_to_save_entry.get(),sheet_name="Лист1",data=data)
save.SaveDataXLSX(file_path=file_to_save_entry.get(),sheet_name=drop_var_two.get(),data=data)
root = tk.Tk()
root.title("Parser11(отяет по mif)")
@@ -34,6 +36,18 @@ def open_excel_file(event, entry):
entry.delete(0, tk.END)
entry.insert(0, excel_path)
options.clear()
readingSheets = ReadingSheet(path=excel_path)
sheets = readingSheets.Read()
for _sheet in sheets:
options.append(_sheet)
drop_var_two.set(options[0])
menu = dropdown_two["menu"]
menu.delete(0,"end")
for option in options:
menu.add_command(label=option, command=tk._setit(drop_var_two,option))
# первое поле с списком
file_to_save_label = tk.Label(root, text="файл_для_сохранения", font=font)
file_to_save_label.pack(anchor="w")
@@ -41,6 +55,10 @@ file_to_save_entry = tk.Entry(root, font=font, width=70)
file_to_save_entry.pack(anchor="w")
file_to_save_entry.bind("<Button-1>", lambda event: open_excel_file(event, file_to_save_entry))
drop_var_two=tk.StringVar()
dropdown_two = tk.OptionMenu(root, drop_var_two, *options)
dropdown_two.pack(anchor="w")
directory_label = tk.Label(root, text="Выберите директорию c mif:", font=font)
directory_label.pack(anchor="w")
directory_entry = tk.Entry(root, font=font, width=70)

17
reading_sheet.py Normal file
View File

@@ -0,0 +1,17 @@
import openpyxl
class ReadingSheet():
"""
класс для чтения листов в книгах
path - путь к файлу
"""
def __init__(self, path):
self.path = path
"""path - путь к файлу"""
def Read(self):
"""прочитать и вернуть все листы в виде массива названия листов"""
workbook = openpyxl.load_workbook(self.path)
sheets = workbook.sheetnames
workbook.close()
return sheets

View File

@@ -4,7 +4,7 @@ class SaveDataXLSX():
def __init__(self,file_path:str,sheet_name:str,data):
wb = xl.load_workbook(filename=file_path)
sheet = wb[sheet_name]
max_row = sheet.max_row+2
max_row = sheet.max_row+1
for new_row,file in enumerate(data):
sheet.cell(row=max_row+new_row,column=2,value=file.directory)
sheet.cell(row=max_row+new_row,column=3,value=file.cad_number)