PyQt6, Interface zu Excel

Zurück

Für dieses Python Programm ist folgende Bibliothek erforderlich: pip install openpyxl (Version 3.1.3). Besuche auch die Dokumentation. Die Bibliothek "openpyxl" ist universell einsetzbar. Du kannst sie auch in einer Konsolenapplikation einsetzen, indem du zusätzliche Menüzeilen einführst. Weiterhin besteht hier der Vorteil, dass man auf eine große Community zurückgreifen kann und hier schnell zum Ziel kommt. Notwendige Daten kommen aus der Python Umgebung und den Feinschliff kann man bequem in den Excel Formularen erledigen.

Das Ziel ist klar, nach der Programmerstellung sollte keine Excel-Zellen-Editierung mehr notwendig sein. Die Bibliothek "openpyxl" funktioniert auch bei anderen Tabellenkalkulationsprogrammen wie zum Beispiel LibreOffice.



Shelly Interface Excel -1- Shelly Interface Excel -2-


Das Python Skript: excel.py liefert für drei Excelformularen die Daten: 1. Verbrauch und Kosten. 2. Stromverbrauch für einen bestimmten Verbraucher in Abhängigkeit einer Zeit in Sekunden (Start-Stopp-Aufzeichnung). 3. Visualisierung der wichtigsten Register des Shellys.

Es müssen zwei Voraussetzungen erfüllt sein damit es mit der Klasse "my_excel" klappt! Ansonsten klappt nämlich nur der Klosettdeckel. 1. Die Datei "Shelly_EnergieMeter.xlsx“ muss vorhanden sein. 2. Die drei Arbeitsblätter (Reiter) müssen vorhanden und bereits beschriftet sein. Es folgt eine kleine Beschreibung für das Arbeitsblatt "Verbrauch und Kosten“ (Zeile 101 bis 130). Die restlichen zwei Arbeitsblätter verhalten sich ähnlich. Warum die VS-Code Entwicklungsumgebung einen Strich durch die Anweisung "get_sheet_by_name()“ gemacht hat weiß ich nicht! Kümmern wir uns nicht drum!

Zeile 105, das Formular (Arbeitsblatt), welches sich im ersten Reiter befindet wird mit Index 0 geladen. Zeile 106 bis 110, es wird auf Platz für neue Daten geprüft. Zeile 111 bis 115, wenn im Arbeitsblatt keine Daten vorhanden sind, wird das Anfangsdatum und der Anfangszählerstand aus der JSON-Datei geholt. Danach wird in Zeile 115 eine Liste mit den gewünschten Daten erstellt, siehe auch Zeile 132 bis 154. Das Arbeitsblatt ist nicht leer, dann geht es in den Zeilen 117 bis 124 weiter. Aus dem vorherigen Datensatz des Arbeitsblattes werden Datum und Drehstromzählerstand geholt und in Zeile 124 wird eine Liste erstellt, wie in Zeile 115. Die generierte Liste wird zum Arbeitsblatt in einer Schleife transferiert, siehe Zeile 125 bis 128.


Zurück