Das fertige Programm ist eine .exe-Datei. Hierfür habe ich PyAutoGui verwendet, da es mir ermöglicht, besser zu steuern, welche Module in die .exe-Datei konvertiert werden und welche nicht. Die vorherige Version war als .py-Datei gedacht, ich entschied mich jedoch für die .exe-Version, da sie im Allgemeinen flexibler ist. Zur Bearbeitung der xlsx-Dateien wählte ich openpyxl, weil es sich als die schnellste Bibliothek für diese Aufgabe herausstellte.
Das Lesen der Stundenzettel kann in Python aufgrund der Vielzahl der Einträge in der Woche (bei 52-53 Wochen im Jahr und 15 Mitarbeitern) mehrere Minuten dauern. Deshalb habe ich Print-Befehle eingefügt(old-version), um die Geschwindigkeit der Verarbeitung zu überprüfen und so die Leistung zu optimieren. Letztendlich verwendete ich ein Jupyter-Notebook, da es mir ermöglicht, jede einzelne Zelle zu isolieren.
Ich finde die Dot-Notation sehr angenehm und habe daher die Klasse 'AttrDict' verwendet, obwohl sie sonst keinen besonderen Sinn ergibt.
Hauptfenster, mit blockierten Knöpfen, da die jeweiligen Ordner & Dateien fehlen.
Nach dem Auswählen der Ordner und der Zieldatei, werden werden diese grün und der Startknopf wird freigegeben.
Die dateien werden aus dem source ordner gelesen, dabei wird der Startknopf blockiert und am Ende sieht man im Status, was gemacht wurden ist. Werden lückenhafte Einträge gefunden oder wenn Kostenstellen in der Ausgabedatei nicht gefunden werden, wird eine .txt Datei im vorher festgelegten "ERROR-Ordner" erstellt.
fehlermeldung.txt
Infofenster