Aus chaotischen Excel- und CSV-Dateien werden in Sekunden lokale Business-Dashboards – ohne Cloud, ohne SaaS-Zwang, ohne teures ERP.
Python FastAPI React TypeScript Vite Docker License
ExcelPulse Dashboard – KPI-Karten, Diagramme, Warnsystem und Tabelle
Automatisch erkanntes Qualitäts-Dashboard aus einer hochgeladenen Excel-Datei – KPI-Karten, numerische Kennzahlen, Kategorie- & Zeitverlauf-Diagramme, Warnsystem und durchsuchbare Tabelle.
Viele kleine und mittlere Unternehmen steuern Produktion, Lager, Qualität und Wartung mit Excel – weil ERP-Systeme teuer, komplex oder überdimensioniert sind. Die Daten sind da, aber niemand sieht auf einen Blick, was kritisch ist.
ExcelPulse schließt diese Lücke: Datei rein, Dashboard raus. KPI-Karten, Diagramme, automatische Warnungen und teilbare Reports – alles lokal auf dem eigenen Rechner. Keine Daten verlassen die Maschine.
- Upload von
.xlsxund.csv(12 MB Limit, Endungs-Whitelist, Schutz vor leeren/defekten Dateien, UUID-basierte Ablage) - Automatisches CSV-Trennzeichen-Sniffing und Normalisierung (leere Zeilen entfernen, Spaltennamen trimmen) – auch unsaubere Tabellen werden sauber eingelesen
- Spalten-Datentyp-Erkennung je Spalte: Zahl, Datum (über >55 %-Parse-Heuristik) oder Text, inklusive Zähler für leere Felder
- Geschäftsrollen-Erkennung der Spalten (Auftrag, Kunde, Status, Menge, Preis, Umsatz, Datum, Liefertermin, Maschine, Mitarbeiter, Material, Priorität) per deutsch+englischem Keyword-Matching
- Automatische Dashboard-Typ-Erkennung über fünf Typen: Produktion, Lager, Qualität, Wartung und Allgemein (Fallback) anhand gewichteter Regelsätze
- KPI-Kennzahlen: Zeilen, Spalten, leere Felder gesamt, pro numerischer Spalte Summe/Durchschnitt/Min/Max, erkannte Rollen und Daten-Vorschau (bis 60 Zeilen)
- Numerische Übersichtstabelle (Summe/Ø/Min/Max je Zahlenspalte)
- Diagramme (Recharts): Kategorie-Balkendiagramm (Top-10 der ersten Textspalte), Zahlen-Diagramm (Summe + Ø für bis zu 8 Spalten) und Monats-Zeitverlauf (bis 18 Perioden, gruppierte Summe oder Anzahl) als Balken-, Linien- und Kreisdiagramm
Automatische Erkennung kritischer Datenlagen (max. 20 Warnungen):
- Leere Pflichtfelder in wichtigen Spalten
- Negative Werte in Zahlenspalten
- Doppelte Auftrags-IDs (Dubletten)
- Kritische Status (
offen,kritisch,gesperrt,verzögert,delayed,blocked) - Überfällige Liefertermine (Datumsabgleich gegen heute)
- Durchsuchbare, sortierbare und paginierte Datentabelle
- Status- und Datumsfilter sowie bedingte Zellen-Einfärbung
- Warnungs-Feed mit Rollen-Badges und Erfolg-/Warn-Zuständen
- CSV-Export (
/export/csv): liest die Quelldatei neu ein, normalisiert sie und liefert einen Download mit Originalnamen - HTML-Report (
/report): in sich geschlossene, dark-themed Seite mit Datei-Metadaten, KPI-Box, Warnliste und 20-Zeilen-Vorschau – ideal zum Teilen
- SQLite-Datenbank (zwei Tabellen, JSON-serialisierte Analyse), Schema wird beim Start automatisch erstellt; Analyse wird stets als „neueste pro Datei" geliefert
- Lokale Dateiablage, keine externe Abhängigkeit zur Laufzeit
- Docker Compose (Backend + Frontend) und Windows-One-Click-Start (
start-excelpulse.bat/.ps1) - Responsives, dunkles Glass-UI (eigene Tailwind-Palette), durchgehend deutschsprachig
- Generator für synthetische Demo-Daten (
tools/generate_demo_data.py) - Playwright-UI-Smoke-Test in Headless-Chrome (
tools/smoke_ui.py)
ExcelPulse Workflow – Demo-Daten laden und Dashboards erkunden
Ein Klick auf „Demo-Daten laden" – ExcelPulse erkennt Dashboard-Typ, KPIs, Charts und Warnungen automatisch und wechselt nahtlos zwischen Qualitäts-, Produktions- und Lager-Dashboard.
Produktions-Dashboard – automatisch erkannt aus production_orders.xlsx (11 Spalten, 5 Warnungen):
Produktions-Dashboard mit KPIs, Diagrammen, Warnungen und Tabelle
HTML-Report – eigenständige, teilbare Seite (GET /api/files/{id}/report):
ExcelPulse HTML-Report mit Metadaten, Warnungen und Tabellen-Vorschau
.\start-excelpulse.batStartet Backend (Port 8000) und Frontend und öffnet anschließend http://localhost:4173 .
docker compose up --build
Backend läuft auf http://localhost:8000 , Frontend auf http://localhost:5173 .
Backend
cd backend python -m venv .venv .venv\Scripts\activate # Windows (Linux/macOS: source .venv/bin/activate) pip install -r requirements.txt uvicorn app.main:app --reload --port 8000
Frontend
cd frontend npm install npm run dev # Entwicklung (Port 5173) # oder: npm run build && npm run preview (Port 4173)
💡 Über den „Demo-Daten laden"-Button in der Sidebar (oder
POST /api/demo/seed) werden vier realistische Beispieldateien sofort eingelesen – perfekt zum Ausprobieren ohne eigene Daten.
| Methode | Endpoint | Beschreibung |
|---|---|---|
POST |
/api/upload |
.xlsx/.csv hochladen und analysieren |
GET |
/api/files |
Alle Dateien (neueste zuerst) |
GET |
/api/files/{id} |
Datei-Detail |
GET |
/api/files/{id}/analysis |
Vollständige Analyse (KPIs, Charts, Warnungen) |
GET |
/api/files/{id}/warnings |
Nur Warnungen |
GET |
/api/files/{id}/export/csv |
Normalisierter CSV-Export |
GET |
/api/files/{id}/report |
Eigenständiger HTML-Report |
POST |
/api/demo/seed |
Demo-Daten einspielen |
Interaktive API-Doku (Swagger UI) unter http://localhost:8000/docs.
Im Ordner demo-data liegen vier vollständig synthetische Datensätze mit Metallbau-Thema (keine echten Firmendaten):
| Datei | Format | Dashboard-Typ |
|---|---|---|
production_orders.xlsx |
Excel | Produktion |
inventory.csv |
CSV | Lager |
quality_checks.xlsx |
Excel | Qualität |
maintenance_tasks.csv |
CSV | Wartung |
Die Demo-Dateien enthalten absichtlich fehlerhafte Zeilen (negative Mengen, doppelte Auftrags-IDs, leere Pflichtfelder, kritische Status, überfällige Termine), um das Warnsystem zu demonstrieren – das sind keine echten Bugs.
ExcelPulse
├── backend # FastAPI, Service-Layer, SQLite (ohne ORM)
│ └── app
│ ├── main.py # API-Orchestrierung (8 Endpoints)
│ ├── config.py # Pfade & Konstanten
│ ├── database.py # SQLite-Init & Verbindung
│ ├── repositories.py # Datenzugriff
│ └── services # upload, file_reader, detection, analysis,
│ # warning, chart, export, demo
├── frontend # React 19 + Vite + TypeScript + Tailwind + Recharts
│ └── src/modules # api, app, dashboard, layout, upload
├── demo-data # Synthetische Beispieldateien
├── tools # Demo-Generator & UI-Smoke-Test
├── docker-compose.yml
└── start-excelpulse.bat / .ps1
Designprinzipien: Jede Datei bleibt unter 250 Zeilen, Logik wird in kleine Module ausgelagert, komplexe Abläufe werden orchestriert statt in eine große Datei geschrieben.
Backend: Python 3.11 · FastAPI · uvicorn · pandas · openpyxl · python-multipart · httpx · SQLite Frontend: React 19 · Vite 7 · TypeScript 5.8 · Tailwind CSS 3 · Recharts 3 · lucide-react Tooling/Deployment: Docker & Docker Compose · Playwright (UI-Smoke-Test)
- PDF-Export zusätzlich zum HTML-Report
- Persistente Tabellenfilter
- Mehrere Sheets pro Excel-Datei
- KI-gestützte Spaltenzuordnung
- Dashboard-Snapshots für Management-Reports
- Konfigurierbare Backend-URL (
VITE_API_URL) und produktionsreifes Frontend-Docker-Image
MIT © 2026 Maurice Putinas