# Cable Consolidation (Excel Add-In)

Ein **Microsoft Excel Web-Add-In**, entwickelt von der SAT Elektrotechnik GmbH, zur intelligenten und effizienten Zusammenführung von Kabeldaten aus verschiedenen Tabellenblättern in eine formatierte "Kabelliste".

![SAT Elektrotechnik](https://kabel.casademm.de/assets/icon-80.png)

## 📖 Inhaltsverzeichnis
- [Features](#-features)
- [Technologie-Stack](#-technologie-stack)
- [Dokumentation & Wiki](#-dokumentation--wiki)
- [Schnellstart](#-schnellstart)

---

## ✨ Features
Das Add-In optimiert den Planungsprozess durch folgende Funktionen:
- **Interne & Externe Quellen:** Konsolidiert Tabellenblätter aus der *aktuell geöffneten* Arbeitsmappe sowie aus *extern hochgeladenen* Excel-Dateien (`.xlsx`, `.xlsm`, `.csv`).
- **Intelligentes Mapping (Smart Aliasing):** Erkennt selbstständig die benötigten Spalten (z.B. "K-Nr.", "von", "nach Raum", etc.), auch wenn alternative Bezeichnungen (wie "Kabelnummer" oder "Nr.") verwendet werden.
- **Fehlertoleranz:** Leere Blätter, versteckte Blätter oder fehlende Kopfzeilen bringen das Add-In nicht zum Absturz. Der Benutzer kann fehlende Zuweisungen manuell vornehmen.
- **Saubere Ausgabe:** Die konsolidierten Daten werden automatisch als ansprechende, filterbare Excel-Tabelle generiert.

---

## 💻 Technologie-Stack
Das Projekt nutzt modernste Web-Technologien in Kombination mit Microsofts Add-In Architektur:
- **React (v18)** für die dynamische Benutzeroberfläche (Task Pane).
- **TypeScript** für typsichere Geschäftslogik.
- **Fluent UI (v9)** für ein nahtloses, Microsoft-natives Design.
- **Office.js API** zum direkten Lesen und Schreiben im Excel-Dokument.
- **SheetJS (xlsx)** zum clientseitigen Parsen von externen Dateien direkt im Browser-Speicher.
- **Webpack** als Build-Tool.

---

## 📚 Dokumentation & Wiki

Alle ausführlichen Leitfäden und Dokumentationen findest du im Ordner [`/docs`](./docs):

1. **[Architektur & Logik](./docs/01_Architektur.md)**: Erklärungen zur Code-Basis, den React-Komponenten und der Office.js Integration.
2. **[Entwickler-Setup](./docs/02_Entwicklung_Setup.md)**: Wie setze ich das Projekt lokal auf und entwickle weiter?
3. **[Benutzerhandbuch](./docs/03_Benutzerhandbuch.md)**: Die Schritt-für-Schritt Anleitung für die Endnutzer.
4. **[Deployment & Hosting](./docs/04_Deployment.md)**: Wie kommt das Tool auf den Ubuntu-Server und in das M365 Admin Center?

---

## 🚀 Schnellstart

Wenn du direkt in den Code einsteigen willst:

```bash
# Abhängigkeiten installieren
npm install

# Lokalen Entwicklungs-Server starten & Excel Add-In Sideloaden
npm start

# Produktions-Build erstellen
npm run build
```

*Entwickelt mit ❤️ für eine effizientere Kabelplanung.*
