Einführung in ClosedXML: Was ist das und wozu braucht man es?
ClosedXML ist eine leistungsstarke Open-Source-Bibliothek für C# (.NET), die zum Erstellen, Lesen und Bearbeiten von Microsoft Excel-Dateien (Formate .xlsx, .xlsm, .xltx) entwickelt wurde. Sie bietet eine benutzerfreundliche, objektorientierte Schnittstelle für die Arbeit mit Tabellenkalkulationen – ganz ohne Installation von Microsoft Office oder die Verwendung von COM-Objekten.
Die Bibliothek ist besonders nützlich für:
- Automatisierung von Berichten – Erstellung komplexer Excel-Berichte mit Daten aus Datenbanken, APIs oder anderen Quellen
- Datenimport/-export – Massenverarbeitung von Tabellendaten zwischen verschiedenen Systemen
- Erstellung von Vorlagen – Befüllen vorbereiteter Excel-Vorlagen mit Daten
- Finanz- und Analyseberechnungen – Arbeiten mit Formeln, Pivot-Tabellen und Diagrammen
- Migration von VBA – Übertragung von Makros auf modernes C#
ClosedXML unterstützt alle wichtigen Excel-Funktionen: Zellenformatierung, Zellenverbindung, bedingte Formatierung, Diagramme, Pivot-Tabellen, Datenvalidierung, Blattschutz und vieles mehr. Die Bibliothek arbeitet dabei vollständig im Arbeitsspeicher und benötigt kein installiertes Excel auf dem Server.
Installation von ClosedXML
Die Installation von ClosedXML erfolgt über den NuGet Package Manager. Nachfolgend finden Sie alle Installationsmethoden:
Über die .NET CLI
dotnet add package ClosedXML
Über die Package Manager Console (Visual Studio)
Install-Package ClosedXML
Über die NuGet Package Manager UI
- Öffnen Sie Ihr Projekt in Visual Studio
- Rechtsklick auf das Projekt → "NuGet-Pakete verwalten"
- Suchen Sie nach "ClosedXML" und klicken Sie auf "Installieren"
Installation überprüfen
Fügen Sie nach der Installation die using-Direktive in Ihren Code ein:
using ClosedXML.Excel;
Schnellstart: Erstellen Sie Ihre erste Excel-Tabelle
Lassen Sie uns eine einfache Tabelle mit Mitarbeiterdaten erstellen und in einer Datei speichern:
using ClosedXML.Excel;
class Program
{
static void Main(string[] args)
{
// Neue Arbeitsmappe erstellen
using (var workbook = new XLWorkbook())
{
// Arbeitsblatt hinzufügen
var worksheet = workbook.Worksheets.Add("Mitarbeiter");
// Überschriften ausfüllen
worksheet.Cell("A1").Value = "ID";
worksheet.Cell("B1").Value = "Name";
worksheet.Cell("C1").Value = "Position";
worksheet.Cell("D1").Value = "Gehalt";
// Daten ausfüllen
worksheet.Cell("A2").Value = 1;
worksheet.Cell("B2").Value = "Max Mustermann";
worksheet.Cell("C2").Value = "Entwickler";
worksheet.Cell("D2").Value = 150000;
worksheet.Cell("A3").Value = 2;
worksheet.Cell("B3").Value = "Maria Musterfrau";
worksheet.Cell("C3").Value = "Analyst";
worksheet.Cell("D3").Value = 120000;
// Überschriften formatieren
var headerRange = worksheet.Range("A1:D1");
headerRange.Style.Font.Bold = true;
headerRange.Style.Fill.BackgroundColor = XLColor.LightBlue;
// Spaltenbreite automatisch anpassen
worksheet.Columns().AdjustToContents();
// Datei speichern
workbook.SaveAs("mitarbeiter.xlsx");
}
Console.WriteLine("Datei erfolgreich erstellt!");
}
}
Dieses Beispiel erstellt eine Datei mitarbeiter.xlsx mit drei Datenzeilen und formatierten Überschriften.
Wichtige Methoden und Funktionen von ClosedXML
1. Arbeitsmappe und Blätter erstellen
Methode: new XLWorkbook() und workbook.Worksheets.Add()
Beschreibung: Erstellt eine neue Arbeitsmappe und fügt Arbeitsblätter hinzu.
Parameter:
JSON-Verarbeitung in C# (.NET): Vollständige Anleitung mit Beispielen Arbeit mit XML in Java: Bibliotheken und Werkzeuge für das Parsing Arbeiten mit CSV in Swift (iOS/macOS): Die Bibliothek SwiftCSV und Grundlagen des Parsings Integration von Prometheus-Metriken in Java: Die Bibliothek simpleclientAuch in der Bibliothek
PHPUnit für PHP: Vollständiger Leitfaden mit Beispielen
Moshi für Kotlin: Komplettguide mit Beispielen
Maschinelles Lernen mit Go: Bibliotheken für Golang (ML, neuronale Netze, NLP)
Aufgabenwarteschlangen in C# (.NET): System.Threading.Channels und TPL Dataflow
Konfiguration von Go-Anwendungen: Die Bibliothek viper
Empfehlungen