In diesem Beitrag möchte ich dir zeigen, wie du Microsoft Excel mit einer MySQL Datenbank verbindest und Daten aus dieser ausliest und anzeigst. Im vorherigen Beitrag habe ich dir gezeigt, wie man Messdaten eines Shelly Plus 1PM Mini in eine MySQL Datenbank via PowerShell Skript speichert, an diesen möchte ich hier nun anknüpfen.
Inhaltsverzeichnis
Schritt-für-Schritt-Anleitung
Es folgt nun eine kleine Schritt-für-Schritt-Anleitung, in welcher ich dich mitnehmen werden und dir aufzeige wie du:
- den benötigten ODBC-Datenbanktreiber installierst,
- die Datenquelle unter Microsoft Windows 10 einrichtest,
- die Datenbank in Microsoft Excel einrichtest und
- die Daten aus der Tabelle ausliest
Schritt 1 – Herunterladen & Installieren des ODBC Datenbanktreibers
Für die Verbindung zur MySQL Datenbank benötigen wir einen Treiber, diesen können wir unter https://dev.mysql.com/downloads/connector/odbc/ herunterladen.
Beachte hier, dass du den passenden Treiber 64bit oder 32bit für deine Excel Version wählst!
In meinem Fall wähle ich den “Windows (x86, 64-bit), MSI Installer aus”, die knall 14 MB große Datei ist schnell heruntergeladen und den Installer kannst du direkt aus dem Browser starten. Ggf. wirst du hier eine Meldung vor potenziell schädlicher Software erhalten, diese kannst du jedoch in diesem Fall mit einem Klick auf die Schaltfläche “OK” bestätigen.
Schritt 2 – Einrichten des ODBC Treibers
Nachdem der Treiber installiert wurde, müssen wir diesen zunächst in Windows einrichten.
Dazu öffnen wir das Startmenü und geben “odbc” ein. Es sollten jetzt 2 Einträge gefunden werden.
Hier wählen wir wiederum den Eintrag, welcher zu der Excel-Version passt (64bit oder 32bit).
Nun wählen wir den Eintrag “MySQL ODBC 8.1 Unicode Driver” aus und bestätigen dieses mit der Schaltfläche “Fertig stellen”.
Im nächsten Fenster müssen wir nun der Verbindung einen Namen vergeben (1) sowie die Serveradresse (2) eingeben. Auf meinem System läuft ein XAMPP mit einem lokalen MySQL Server, daher wähle ich hier “localhost”. Der Benutzer “root” (3) hat per Default kein Passwort, diesen können wir nun nutzen um die Verbindung zu testen (4) wenn dieses Erfolgreich war (5) können wir diese Eingaben mit “OK” (6) bestätigen.
Der MySQL ODBC Treiber wurde nun mit dem Namen “MySQL-Driver” eingerichtet und wir können dieses Fenster mit “OK” verlassen.
Schritt 3 – Aufbauen der Datenverbindung in Microsoft Excel zur MySQL Datenbank
Nachdem wir nun den ODBC Treiber eingerichtet haben, können wir zu Microsoft Excel wechseln und dort die Datenbank einrichten.
Zunächst klicken wir auf den Reiter “Daten” (1) und dort wählen wir unter “Daten abrufen” den Eintrag “Aus anderen Quellen” (2) auf. Aus diesem Menü wählen wir nun den Eintrag “Aus ODBC” (3).
Nun müssen wir unseren zuvor eingerichteten ODBC Treiber für die MySQL Datenbank auswählen und dieses mit “OK” bestätigen.
Im nächsten Fenster müssen wir jetzt Benutzername und Passwort eingeben. Wie erwähnt hat der Benutzer “root” per Default kein Passwort, daher lasse ich diese hier frei und bestätige die Eingabe mit “Verbinden”.
Wenn die Verbindung erfolgreich hergestellt wurde, dann werden die zum Benutzer berechtigten Tabellen angezeigt. Da ich in meinem Fall den Benutzer “root” gewählt habe werden, hier alle Tabellen aufgelistet.
Aus dieser Liste wähle ich die Datenbank “shelly_db” und dort die Tabelle “messdaten” aus und bestätige die Auswahl mit der Schaltfläche “Laden”.
Schritt 4 – Formatieren der Daten
Damit die geladenen Daten lesbarer werden, müssen wir dies formatieren.
Schritt 4.1 – Formatieren des Zeitstempels
Das etwas kompliziertere ist der Zeitstempel, welcher die Minuten seit dem 01.01.01970 repräsentiert. Diesen können wir jedoch mit einer kleinen Funktion in ein Datum/Zeitformat umrechnen.
=(ZELLE/86400)+DATUM(1970;1;1)
Im nachfolgenden Video zeige ich dir wie du die Spalte “minute_ts” nutzt um eine neue Spalte zu befüllen.
In meinem Fall wähle ich ein benutzerdefiniertes Format aus Datum & Uhrzeit.
Schritt 4.2 – Spalten formatieren
Zum Schluss werden die Spalten noch entsprechend benannt:
- apower – Leistungsaufnahme (in Watt pro Stunde),
- voltage – Spannung (in Volt),
- freq – Frequenz (in Herz),
- current – Stromaufnahme (in Ampere)