ClosedXML für C# (.NET): Komplettguide mit Beispielen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

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

  1. Öffnen Sie Ihr Projekt in Visual Studio
  2. Rechtsklick auf das Projekt → "NuGet-Pakete verwalten"
  3. 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:

Empfehlungen