Arbeiten mit Excel in C# (.NET): Überblick über beliebte Bibliotheken
In der modernen Entwicklung auf der .NET-Plattform besteht häufig die Notwendigkeit einer programmatischen Interaktion mit Microsoft Excel-Dateien. Dies kann die Erstellung von Berichten, den Datenimport, den Export von Tabellen oder die Automatisierung des Dokumentenflusses umfassen. In diesem Artikel betrachten wir die drei beliebtesten Bibliotheken für die Arbeit mit Excel in C#: EPPlus, ClosedXML und NPOI. Jede von ihnen hat ihre eigenen Besonderheiten, Vorteile und Einschränkungen.
1. EPPlus – Ein leistungsstarkes Werkzeug für die Arbeit mit XLSX
EPPlus ist eine der beliebtesten Bibliotheken für die Arbeit mit dem Office Open XML-Format (XLSX). Sie bietet eine umfangreiche API zum Erstellen, Lesen und Formatieren von Excel-Dokumenten. Seit Version 5 wird EPPlus unter der Polyform Noncommercial-Lizenz vertrieben (kostenlos nur für nicht-kommerzielle Nutzung), für kommerzielle Projekte ist jedoch der Erwerb einer Lizenz erforderlich.
Hauptfunktionen:
- Vollständige Unterstützung der Zellenformatierung (Schriftarten, Farben, Rahmen, Ausrichtung)
- Arbeit mit Diagrammen, Pivot-Tabellen und bedingter Formatierung
- Unterstützung von Formeln und Berechnungen
- Arbeit mit Bildern und Kommentaren
- Hohe Leistung bei der Arbeit mit großen Dateien
Beispiel zum Erstellen einer Excel-Datei mit EPPlus:
using OfficeOpenXml;
class Program{ static void Main() { ExcelPackage.LicenseContext = LicenseContext.NonCommercial; // Für kommerzielle Nutzung ist eine Lizenz erforderlich using (var package = new ExcelPackage()) { var worksheet = package.Workbook.Worksheets.Add("Bericht"); // Überschriften ausfüllen worksheet.Cells["A1"].Value = "Name"; worksheet.Cells["B1"].Value = "Alter"; worksheet.Cells["C1"].Value = "Stadt"; // Daten ausfüllen worksheet.Cells["A2"].Value = "Anna"; worksheet.Cells["B2"].Value = 28; worksheet.Cells["C2"].Value = "Moskau"; // Formatierung worksheet.Cells["A1:C1"].Style.Font.Bold = true; worksheet.Cells["A1:C1"].Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid; worksheet.Cells["A1:C1"].Style.Fill.BackgroundColor.SetColor(System.Drawing.Color.LightBlue); // Datei speichern package.SaveAs(new FileInfo("report.xlsx")); } }}2. ClosedXML – Einfache und intuitive API
ClosedXML ist eine Open-Source-Bibliothek (MIT-Lizenz), die eine benutzerfreundliche und prägnante Schnittstelle für die Arbeit mit XLSX-Dateien bietet. Sie basiert auf DocumentFormat.OpenXml, verbirgt jedoch die Komplexität der Low-Level-API. ClosedXML eignet sich ideal für die schnelle Erstellung von Berichten und einfachen Tabellen.
Vorteile von ClosedXML:
- Einfache und lesbare Syntax
- Vollständig kostenlos für die kommerzielle Nutzung
- Gute Unterstützung von Stilen und Formatierung
- Integrierte Unterstützung für die Arbeit mit Datumsangaben und Formeln
Beispiel zum Lesen von Daten aus Excel mit ClosedXML:
using ClosedXML.Excel;
class Program{ static void Main() { using (var workbook = new XLWorkbook("data.xlsx")) { var worksheet = workbook.Worksheet(1); // Daten zeilenweise lesen foreach (var row in worksheet.RowsUsed()) { var name = row.Cell(1).GetValue<string>(); var age = row.Cell(2).GetValue<int>(); var city = row.Cell(3).GetValue<string>(); Console.WriteLine($"{name}, {ag Auch in der Bibliothek
Arbeiten mit CSV in C# (.NET): Vollständige Anleitung
Diesel für Rust: Vollständiger Leitfaden mit Beispielen
HTTP-Client für Go (Golang): Top-Bibliotheken für die Netzwerkarbeit
Arbeiten mit Daten in Kotlin: Bibliotheken und Werkzeuge für die Entwicklung
WebSocket-Bibliothek Swift: Starscream für iOS/macOS