Arbeiten mit Excel in C# (.NET): Ausführliche Anleitung zu EPPlus und ClosedXML
In der modernen Entwicklung auf der .NET-Plattform besteht häufig die Notwendigkeit, Excel-Tabellen programmgesteuert zu erstellen, zu lesen und zu bearbeiten. Dies kann die Generierung von Berichten, der Import von Daten aus Datenbanken, der Export von Statistiken oder die Automatisierung von Geschäftsprozessen sein. In diesem Artikel betrachten wir die beiden beliebtesten und leistungsstärksten Bibliotheken für die Arbeit mit Excel in C#: EPPlus und ClosedXML. Beide Bibliotheken arbeiten mit dem Open XML-Format (XLSX) und benötigen kein installiertes Microsoft Office.
Warum sollte man Bibliotheken für Excel verwenden?
Das manuelle Erstellen von XML-Dateien für das XLSX-Format ist äußerst aufwendig und fehleranfällig. Bibliotheken wie EPPlus und ClosedXML bieten eine High-Level-API, die die gesamte Komplexität der Arbeit mit Open XML verbirgt. Sie ermöglichen:
- Excel-Dateien von Grund auf mit vollständiger Kontrolle über die Formatierung zu erstellen.
- Daten aus vorhandenen Tabellen mit Unterstützung für verschiedene Zelltypen zu lesen.
- Zellen, Zeilen, Spalten und Blätter zu bearbeiten.
- Stile, Schriftarten, Farben, Rahmen und bedingte Formatierung anzuwenden.
- Mit Formeln, Pivot-Tabellen und Diagrammen zu arbeiten.
- Daten in PDF zu exportieren (verfügbar in der kostenpflichtigen Version von EPPlus).
Die Bibliothek EPPlus
EPPlus ist eine der ältesten und funktionsreichsten Bibliotheken für die Arbeit mit Excel in .NET. Sie unterstützt alle wesentlichen Funktionen des XLSX-Formats, einschließlich Diagramme, Pivot-Tabellen, bedingte Formatierung und VBA-Makros. Ab Version 5 ist EPPlus auf ein LGPL-Lizenzmodell mit zusätzlichen Einschränkungen für die kommerzielle Nutzung umgestiegen (kostenlos für Projekte mit einem Jahresumsatz unter 1 Million US-Dollar).
Installation von EPPlus
Die Bibliothek kann über den NuGet Package Manager installiert werden:
Install-Package EPPlusOder über die .NET CLI:
dotnet add package EPPlusBeispiel: Erstellen einer einfachen Excel-Datei mit EPPlus
Der folgende Code demonstriert das Erstellen einer Excel-Datei mit Überschriften und Daten sowie die Anwendung grundlegender Formatierung:
using OfficeOpenXml;using OfficeOpenXml.Style;using System.Drawing;
public void CreateExcelWithEPPlus(){ // Festlegen des Lizenzkontexts (erforderlich für EPPlus 5+) ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
using (var package = new ExcelPackage()) { // Neues Arbeitsblatt hinzufügen var worksheet = package.Workbook.Worksheets.Add("Mitarbeiter");
// Überschriften worksheet.Cells[1, 1].Value = "Name"; worksheet.Cells[1, 2].Value = "Position"; worksheet.Cells[1, 3].Value = "Gehalt";
// Überschriften formatieren using (var range = worksheet.Cells[1, 1, 1, 3]) { range.Style.Font.Bold = true; range.Style.Fill.PatternType = ExcelFillStyle.Solid; range.Style.Fill.BackgroundColor.SetColor(Color.LightBlue); range.Style.HorizontalAlignment = ExcelHorizontalAlignment.Center; }
// Daten worksheet.Cells[2, 1].Value = "Ivan Ivanov"; worksheet.Cells[2, 2].Value = "Entwickler"; worksheet.Cells[2, 3].Value = 150000;
worksheet.Cells[3, 1].Value = "Maria Petrova"; worksheet.Cells[3, 2].Value = "Analyst"; worksheet.Cells[3, 3].Value = 120000;
// Zahlenformatierung worksheet.Cells[2, 3, 3, 3].Style.Numberformat.Format = "#,##0";
// Spaltenbreite automatisch anpassen worksheet.Cells[1, 1, 3, 3].AutoFitColumns();
// Datei speichern var fileInfo = new FileInfo("employees.xlsx"); package.SaveAs(fileInfo); }}Die Bibliothek ClosedXML
ClosedXML ist eine leichtgewichtige und vollständig kostenlose Bibliothek (Lizenz
Auch in der Bibliothek
JWT-Token in Go (Golang): Bibliothek golang-jwt und Anwendungsbeispiele
Kotlin-Anwendungsüberwachung: Bibliotheken und Tools zur Leistungsverfolgung
Rust PDF erstellen: Komplette Anleitung mit Beispielen
OAuth-Client für Swift (iOS/macOS): Vollständige Anleitung
Supertest für JavaScript (Node.js): Komplettguide mit Beispielen