Excel + Python Automatisierung – Demos | Digitale Start-Hilfe
Excel Python Automatisierung Demos – Digitale Start-Hilfe

Excel + Python Automatisierung – Live-Demos

Hier zeige ich Ihnen, wie ich mit Python und Excel wiederkehrende Aufgaben automatisiere. Jede Demo zeigt ein reales Problem und die automatisierte Lösung – mit Code, Ergebnissen und Erklärungen.

Technologien: Python, pandas, openpyxl, Excel

📊 Demo 1: Mitarbeiter-Bonus-Rechner

Automatische Berechnung von Bonus und Jahresgehalt – mit nur 10 Zeilen Python-Code.

Excel-Tabelle vor der Automatisierung – Bonus und Jahresgehalt fehlen Vorher: Manuelle Arbeit

Bonus und Jahresgehalt müssen in Excel mühsam per Hand berechnet werden. Das kostet Zeit und ist fehleranfällig.

Excel-Tabelle nach der Automatisierung – Bonus und Jahresgehalt sind berechnet Nachher: Vollautomatisch

Mit nur wenigen Zeilen Python-Code werden Bonus und Jahresgehalt automatisch berechnet und in eine neue Excel-Datei exportiert.

Python
"""
Excel + Python Automatisierung
Projekt: Mitarbeiter-Bonus-Rechner
"""

import pandas as pd

# 1. Daten erstellen
daten = {
    "Name": ["Anna", "Ben", "Clara", "David"],
    "Abteilung": ["Vertrieb", "IT", "Marketing", "Vertrieb"],
    "Gehalt": [4200, 5100, 3800, 4900]
}
df = pd.DataFrame(daten)

# 2. Bonus & Jahresgehalt berechnen
df["Bonus"] = df["Gehalt"] * 0.1
df["Jahresgehalt"] = df["Gehalt"] * 12

# 3. In Excel speichern (2 Sheets)
with pd.ExcelWriter("mitarbeiter_mit_bonus.xlsx", engine="openpyxl") as writer:
    df.to_excel(writer, sheet_name="Alle Mitarbeiter", index=False)
    df[df["Abteilung"] == "Vertrieb"].to_excel(writer, sheet_name="Nur Vertrieb", index=False)

📈 Ergebnis: Automatisch generierte Excel-Tabelle

Name Abteilung Gehalt Bonus Jahresgehalt
AnnaVertrieb4.200 €420 €50.400 €
BenIT5.100 €510 €61.200 €
ClaraMarketing3.800 €380 €45.600 €
DavidVertrieb4.900 €490 €58.800 €
Ausgabe: Excel-Datei mit 2 Sheets – "Alle Mitarbeiter" und "Nur Vertrieb"

🧹 Demo 2: Excel-Reiniger für große Datenmengen

Automatische Bereinigung von Duplikaten, leeren Zellen und falschen Datumsformaten – mit nur wenigen Zeilen Python-Code.

Excel-Tabelle vor der Bereinigung – mit Duplikaten, leeren Zellen und falschen Datumsformaten Vorher: Datenchaos

Doppelte Einträge, leere Zellen, unterschiedliche Datumsformate – die Daten sind unbrauchbar.

Excel-Tabelle nach der Bereinigung – sauber, einheitlich und fehlerfrei Nachher: Sauber & strukturiert

Alle Duplikate entfernt, leere Zellen gefüllt, einheitliches Datumsformat – plus Bericht-Sheet mit allen Aktionen.

Python
import pandas as pd
import numpy as np

# 1. Testdaten mit Fehlern erstellen
fehlerhafte_daten = {
    "Name": ["Anna", "Ben", "Anna", "Clara", "David", "Ben"],
    "Datum": ["2026-01-01", "01.02.2026", "2026-01-01", "2026-03-15", "15.04.2026", "01.02.2026"],
    "Verkauf": [1200, 850, 1200, 2100, 450, 850],
    "Mitarbeiter-ID": ["A001", "B002", "A001", "C003", "D004", "B002"]
}
df_roh = pd.DataFrame(fehlerhafte_daten)

# 2. Bereinigung
# Duplikate entfernen
df = df_roh.drop_duplicates()
# Leere Zellen füllen
df["Name"] = df["Name"].fillna("Unbekannt")
# Datumsformat vereinheitlichen
df["Datum"] = pd.to_datetime(df["Datum"]).dt.strftime("%Y-%m-%d")

# 3. Saubere Excel speichern
df.to_excel("bereinigte_daten.xlsx", index=False)
print("✅ Bereinigte Datei gespeichert!")

📈 Ergebnis: Bereinigte Excel-Datei

Name Datum Verkauf (€) Mitarbeiter-ID
Anna2026-01-011.200A001
Ben2026-02-01850B002
Clara2026-03-152.100C003
David2026-04-15450D004

Ausgabe: Excel-Datei mit 2 Sheets – "Bereinigte Daten" und "Bericht"

📧 Demo 3: Automatischer E-Mail-Versand

Generierte Excel-Reports automatisch per E-Mail versenden – mit nur wenigen Zeilen Python-Code.

Excel-Report wurde automatisch generiert Schritt 1: Report generiert

Der Excel-Report wird automatisch erstellt – mit Umsätzen, Neukunden und Zufriedenheitswerten.

E-Mail mit Excel-Anhang wurde automatisch versendet Schritt 2: E-Mail versendet

Die E-Mail mit dem Excel-Report als Anhang wird automatisch an die Empfänger versendet.

Python
import pandas as pd
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email.mime.text import MIMEText
from email import encoders
import datetime

# 1. Excel-Report erstellen
daten = {
    "Monat": ["Januar", "Februar", "März"],
    "Umsatz": [12500, 14800, 13200]
}
df = pd.DataFrame(daten)
dateiname = f"Monatsreport_{datetime.datetime.now().strftime('%Y-%m-%d')}.xlsx"
df.to_excel(dateiname, index=False)

# 2. E-Mail versenden (SMTP-Konfiguration notwendig!)
def send_report(empfaenger):
    msg = MIMEMultipart()
    msg["From"] = "ihre-email@gmail.com"  # Hier Ihre E-Mail eintragen
    msg["To"] = empfaenger
    msg["Subject"] = "Monatsreport"
    msg.attach(MIMEText("Ihr Report im Anhang.", "plain"))

    # Anhang hinzufügen
    with open(dateiname, "rb") as datei:
        teil = MIMEBase("application", "octet-stream")
        teil.set_payload(datei.read())
        encoders.encode_base64(teil)
        teil.add_header("Content-Disposition", f"attachment; filename={dateiname}")
        msg.attach(teil)

    # Versenden
    server = smtplib.SMTP("smtp.gmail.com", 587)
    server.starttls()
    server.login("ihre-email@gmail.com", "app-passwort")  # App-Passwort verwenden!
    server.send_message(msg)
    server.quit()

# 3. Ausführen
send_report("empfaenger@beispiel.de")
print("✅ E-Mail erfolgreich versendet!")

🔧 Wichtige Hinweise zur SMTP-Einrichtung

Damit der automatische E-Mail-Versand funktioniert, musst du deine E-Mail-Zugangsdaten im Code eintragen. Hier sind die drei gängigsten Lösungen:

  • ✅ Lösung 1 (Empfohlen): App-Passwort für Gmail einrichten. Aktiviere die 2-Faktor-Authentifizierung und erstelle ein App-Passwort in deinem Google-Konto.
  • 🔐 Lösung 2: Weniger sichere Apps erlauben (nicht empfohlen, oft nicht mehr unterstützt).
  • 📧 Lösung 3: Anderen E-Mail-Anbieter nutzen (z.B. Outlook, GMX, Web.de) und die SMTP-Server-Daten anpassen.

Tipp: Für Gmail ersetze im Code "ihre-email@gmail.com" durch deine E-Mail und "app-passwort" durch das generierte 16-stellige App-Passwort.

📈 Ergebnis: Automatische E-Mail mit Report

Status: Erfolgreich versendet – automatisch generiert und zugestellt
Zeitersparnis: Statt 15 Minuten manuell, erledigt das Skript alles in 5 Sekunden.

📊 Demo 4: Interaktives Excel-Dashboard mit Flask

Excel-Daten live im Browser visualisieren – mit interaktiven Diagrammen und Tabellen.

🤔 Das Problem

Excel-Daten sind oft unübersichtlich. Muster, Trends und Ausreißer sind schwer zu erkennen – besonders bei großen Tabellen. Ein interaktives Dashboard macht Daten auf einen Blick verständlich.

Vorher: Excel-Rohdaten
Excel-Dashboard vor dem Hochladen – leeres Formular

Die Daten liegen in Excel vor – aber Muster und Trends sind schwer zu erkennen.

Nachher: Interaktives Dashboard
Interaktives Dashboard – mit Diagrammen und Tabellen

Nach dem Upload werden automatisch Diagramme generiert – interaktiv und übersichtlich.

🔍 So funktioniert die Automatisierung

1. Excel hochladen

Der Benutzer wählt eine Excel-Datei aus und klickt auf "Hochladen".

2. Daten einlesen

Python liest die Datei mit pandas ein – automatisch und fehlerfrei.

3. Diagramme generieren

Mit Plotly werden interaktive Balken-, Linien- und Tortendiagramme erstellt.

4. Dashboard anzeigen

Die Web-App (Flask) zeigt die Diagramme und die Tabelle übersichtlich an.

Das Besondere: Alles läuft automatisch – der Benutzer muss nur die Excel-Datei auswählen. Die Analyse und Visualisierung übernimmt Python in Sekundenschnelle.

Python (Flask)
from flask import Flask, render_template, request
import pandas as pd
import plotly.express as px
import json

app = Flask(__name__)

# 1. Excel-Datei hochladen
def upload_file():
    file = request.files['file']
    df = pd.read_excel(file)

    # 2. Diagramm erstellen
    fig = px.bar(df, x=df.columns[0], y=df.columns[1])
    graph_json = json.dumps(fig, cls=plotly.utils.PlotlyJSONEncoder)

    # 3. Dashboard anzeigen
    return render_template('index.html', table=df.to_html(), graph=graph_json)

if __name__ == '__main__':
    app.run(debug=True)

📈 Ergebnis: Live-Dashboard mit interaktiven Charts

Excel hochladen

Klick oder Drag & Drop

Automatische Diagramme

Balken, Linien, Torten

Datenvorschau

Tabelle mit allen Werten
Flask pandas Plotly HTML/CSS

Live-URL: http://127.0.0.1:5000 (lokaler Server)

Zeitersparnis: Statt 20 Minuten manuell, erledigt das Skript alles in 5 Sekunden.

Ausbaubar: Dieses Dashboard kann um weitere Diagramme, Filter oder eine Datenbankanbindung erweitert werden – ganz nach Ihren Anforderungen.

🌐 Demo 5: Web-Scraping mit Excel-Export

Daten von Webseiten automatisch auslesen und in Excel speichern – mit nur wenigen Zeilen Python-Code.

🤔 Das Problem

Daten aus Webseiten müssen oft manuell kopiert und in Excel eingefügt werden – das kostet Zeit und führt zu Fehlern. Ein Python-Skript automatisiert diesen Prozess und liefert strukturierte Daten in Sekundenschnelle.

Vorher: Manuelle Arbeit
Manuelles Kopieren von Web-Daten in Excel – zeitaufwendig und fehleranfällig

Daten müssen mühsam per Hand aus der Webseite kopiert und in Excel eingefügt werden.

Nachher: Vollautomatisch
Automatischer Web-Scraping-Export in Excel

Python liest die Daten automatisch aus und speichert sie strukturiert in Excel.

Hinweis zur Demo-Webseite: Die verwendete Webseite books.toscrape.com ist eine spezielle Demo-Webseite für Übungszwecke zum Thema Web-Scraping. Alle Preise und Bewertungen sind zufällig vergeben und haben keine reale Bedeutung.

🔍 So funktioniert die Automatisierung

1. Webseite aufrufen

Python ruft die gewünschte Webseite auf und lädt den HTML-Code.

2. Daten extrahieren

Mit BeautifulSoup werden gezielt die gewünschten Daten (Titel, Preis, Bewertung) ausgelesen.

3. Daten strukturieren

Die extrahierten Daten werden in eine Tabelle (DataFrame) umgewandelt.

4. In Excel speichern

Die strukturierten Daten werden automatisch als Excel-Datei exportiert.

Das Besondere: Das Skript kann beliebig oft ausgeführt werden – immer aktuelle Daten, immer sauber und strukturiert.

Python
import requests
from bs4 import BeautifulSoup
import pandas as pd

# 1. Webseite aufrufen
url = "https://books.toscrape.com/"
response = requests.get(url)

# 2. HTML parsen
soup = BeautifulSoup(response.text, 'html.parser')

# 3. Daten extrahieren
produkte = []
for buch in soup.select('article.product_pod'):
    titel = buch.find('h3').find('a').get('title', 'Kein Titel')
    preis = buch.find('p', class_='price_color').text if buch.find('p', class_='price_color') else 'Kein Preis'
    bewertung = buch.find('p', class_='star-rating').get('class')[1] if buch.find('p', class_='star-rating') else 'Keine Bewertung'
    produkte.append({'Titel': titel, 'Preis': preis, 'Bewertung': bewertung})

# 4. In Excel speichern
df = pd.DataFrame(produkte)
df.to_excel("produkte.xlsx", index=False)
print(f"✅ {len(produkte)} Produkte exportiert!")

📈 Ergebnis: Automatisch generierte Excel-Tabelle

Webseite auslesen

Daten automatisch extrahieren

Excel-Export

Strukturierte Daten speichern

Zeitersparnis

Sekunden statt Minuten
requests BeautifulSoup pandas

Anwendungsbereiche: Produktpreise, Börsendaten, Wetterdaten, News-Feeds

Zeitersparnis: Statt 15 Minuten manuell, erledigt das Skript alles in 5 Sekunden.

Flexibel: Das Skript kann für jede Webseite angepasst werden, die strukturierte Daten enthält.

📊 Demo 6: Excel-Tabellen-Vergleicher

Zwei Excel-Dateien automatisch vergleichen und Unterschiede farbig markieren – mit nur wenigen Zeilen Python-Code.

🤔 Das Problem

Zwei Excel-Dateien manuell zu vergleichen ist mühsam und fehleranfällig. Besonders bei großen Tabellen übersieht man schnell Unterschiede. Ein Python-Skript findet automatisch alle Abweichungen und markiert sie farbig.

Vorher: Manueller Vergleich
Manueller Vergleich von zwei Excel-Dateien – zeitaufwendig und fehleranfällig

Soll- und Ist-Dateien müssen mühsam Zeile für Zeile verglichen werden – das kostet Zeit und Nerven.

Nachher: Automatisch & farbig
Automatischer Vergleich mit farblichen Markierungen

Python vergleicht automatisch beide Dateien und markiert Abweichungen farbig – grün für identisch, rot für Unterschiede.

🔍 So funktioniert die Automatisierung

1. Daten einlesen

Python liest beide Excel-Dateien mit pandas ein.

2. Zeilen vergleichen

Jede Zeile wird Zelle für Zelle verglichen – Abweichungen werden erkannt.

3. Farbliche Markierung

Mit openpyxl werden gleiche Zeilen grün und unterschiedliche rot markiert.

4. Bericht erstellen

Eine neue Excel-Datei wird mit allen Daten und den Markierungen erstellt.

Das Besondere: Du siehst sofort, welche Zeilen abweichen – perfekt für Soll/Ist-Vergleiche, Inventuren oder Datenmigrationen.

Python
import pandas as pd
from openpyxl import load_workbook
from openpyxl.styles import PatternFill, Font

# 1. Daten einlesen
df_soll = pd.read_excel("soll.xlsx")
df_ist = pd.read_excel("ist.xlsx")

# 2. Vergleichen
with pd.ExcelWriter("vergleich_ergebnis.xlsx", engine="openpyxl") as writer:
    df_ist.to_excel(writer, sheet_name="Vergleich", index=False)
    
    wb = writer.book
    ws = writer.sheets["Vergleich"]
    
    # 3. Farben definieren
    gruen = PatternFill(start_color="C6EFCE", end_color="C6EFCE", fill_type="solid")
    rot = PatternFill(start_color="FFC7CE", end_color="FFC7CE", fill_type="solid")
    
    # 4. Zeilen einfärben
    for idx in range(2, len(df_ist) + 2):
        if df_soll.iloc[idx-2].equals(df_ist.iloc[idx-2]):
            for col in range(1, len(df_ist.columns) + 1):
                ws.cell(row=idx, column=col).fill = gruen
        else:
            for col in range(1, len(df_ist.columns) + 1):
                ws.cell(row=idx, column=col).fill = rot

print("✅ Vergleich abgeschlossen!")

📈 Ergebnis: Farbig markierte Excel-Datei

Soll/Ist-Vergleich

Automatisch und fehlerfrei

Farbige Markierungen

Grün = identisch, Rot = Abweichung

Sofortige Übersicht

Alle Unterschiede auf einen Blick
pandas openpyxl

Anwendungsbereiche: Inventur, Datenmigration, Soll/Ist-Vergleiche, Qualitätsprüfung

Zeitersparnis: Statt 30 Minuten manuell, erledigt das Skript alles in 3 Sekunden.

Flexibel: Das Skript funktioniert mit beliebigen Excel-Dateien – einfach Dateinamen anpassen.

📊 Demo 7: Excel-Pivot-Tabelle mit Python

Automatische Erstellung einer interaktiven Pivot-Tabelle aus Verkaufsdaten – mit nur wenigen Zeilen Python-Code.

🤔 Das Problem

Verkaufsdaten in Excel sind oft unübersichtlich. Eine Pivot-Tabelle hilft, Muster zu erkennen – aber sie manuell zu erstellen ist zeitaufwendig. Python automatisiert diesen Prozess und liefert eine fertige, interaktive Pivot-Tabelle.

Vorher: Rohdaten
Excel-Rohdaten – unübersichtlich, keine Analyse möglich

Die Rohdaten enthalten alle Informationen – aber Muster und Trends sind schwer zu erkennen.

Nachher: Interaktive Pivot
Interaktive Pivot-Tabelle in Excel

Die Pivot-Tabelle kann per Drag-and-Drop angepasst werden – perfekt für flexible Analysen.

🔍 So funktioniert die Automatisierung

1. Daten vorbereiten

Verkaufsdaten werden mit pandas als Tabelle erstellt.

2. Excel steuern

xlwings startet Excel im Hintergrund und schreibt die Daten.

3. Pivot erstellen

Die Pivot-Tabelle wird mit den Feldern Region, Produkt, Umsatz und Menge erstellt.

4. Excel speichern

Die fertige Datei wird gespeichert – mit Rohdaten und interaktiver Pivot.

Das Besondere: Der Anwender erhält nicht nur eine statische Tabelle, sondern eine voll interaktive Pivot – genau wie von Hand erstellt, aber automatisch generiert.

Python
import pandas as pd
import xlwings as xw

# 1. Daten erstellen
daten = {
    "Region": ["Ost", "Ost", "West", "West"],
    "Produkt": ["A", "B", "A", "B"],
    "Umsatz": [100, 200, 150, 250]
}
df = pd.DataFrame(daten)

# 2. Excel im Hintergrund starten
app = xw.App(visible=False)
wb = app.books.add()

# 3. Rohdaten schreiben
ws_daten = wb.sheets[0]
ws_daten.name = "Rohdaten"
ws_daten.range('A1').value = df

# 4. Pivot-Tabelle erstellen
ws_pivot = wb.sheets.add("PivotAnalyse")
pivot_cache = wb.api.PivotCaches().Create(
    SourceType=1,
    SourceData=ws_daten.range('A1').expand().api
)
pivot_table = pivot_cache.CreatePivotTable(
    TableDestination=ws_pivot.range('A3').api,
    TableName="Verkaufspivot"
)

# 5. Felder definieren
pivot_table.PivotFields("Region").Orientation = 1  # Zeilen
pivot_table.PivotFields("Produkt").Orientation = 2  # Spalten
pivot_table.AddDataField(pivot_table.PivotFields("Umsatz"), "Summe Umsatz", -4157)

# 6. Speichern
wb.save("pivot_bericht.xlsx")
wb.close()
app.quit()

print("✅ Pivot-Bericht erstellt!")

📈 Ergebnis: Interaktive Pivot-Tabelle

Drag & Drop

Felder beliebig anordnen

Filtern

Nach Region, Produkt, Monat

Flexible Berechnung

Summe, Mittelwert, Anzahl
pandas xlwings openpyxl

Anwendungsbereiche: Verkaufsanalyse, Finanzberichte, Inventur-Auswertungen

Zeitersparnis: Statt 10 Minuten manuell, erledigt das Skript alles in 3 Sekunden.

Flexibel: Die Pivot-Tabelle kann für beliebige Datenstrukturen angepasst werden – einfach die Spaltennamen ändern.

📌 Weitere Demos in Vorbereitung

Ich zeige hier regelmäßig neue Automatisierungs-Beispiele mit Excel und Python.
Als nächstes: Echtzeit-Dashboard mit Streamlit und PDF-zu-Excel-Extraktor

📋 Ihr eigenes Projekt?

Beschreiben Sie mir Ihre Aufgabe – ich entwickle genau die Lösung, die Sie brauchen. Unverbindlich und persönlich.

Jetzt unverbindlich anfragen
Datenschutz-Übersicht
digitale-start-hilfe.de

Auf dieser Website werden Cookies verwendet, um deine Nutzererfahrung zu verbessern. Du kannst in den {setting}Einstellungen{/setting} mehr erfahren oder Cookies jederzeit ablehnen.

Eine vollständige Liste aller Cookies findest du in unserer Cookie-Erklärung.

Weitere Informationen findest du in unserer Datenschutzerklärung.

Notwendige Cookies & Chatbot

Diese Cookies sind für den Betrieb der Website unbedingt erforderlich und können nicht deaktiviert werden. Dazu gehören auch grundlegende Funktionen wie der WebChatAgent (Chatbot) von WebChatAgent.com, der die direkte Kommunikation mit uns ermöglicht.