Excel-Dateien in C# erstellen, ohne Microsoft Office zu installieren

Excel-Dateien in C# erstellen, ohne Microsoft Office zu installieren
Excel-Dateien in C# erstellen, ohne Microsoft Office zu installieren

Generieren Sie nahtlos Excel-Dateien in C#

Das Erstellen von Excel-Dateien (.XLS und .XLSX) in C# kann für viele Anwendungen eine entscheidende Voraussetzung sein. Es kann jedoch unpraktisch und umständlich sein, sich auf die Installation von Microsoft Office auf dem Server oder Client-Computer zu verlassen.

Glücklicherweise stehen leistungsstarke Bibliotheken und Tools zur Verfügung, mit denen Entwickler Excel-Tabellen programmgesteuert in C# erstellen können, ohne dass Microsoft Office erforderlich ist. In diesem Artikel werden die verschiedenen Methoden und Bibliotheken untersucht, um dies effizient zu erreichen.

Befehl Beschreibung
ExcelPackage.LicenseContext = LicenseContext.NonCommercial; Legt den Lizenzkontext für EPPlus auf nichtkommerzielle Nutzung fest.
var worksheet = package.Workbook.Worksheets.Add("Sheet1"); Erstellt mit EPPlus ein neues Arbeitsblatt mit dem Namen „Sheet1“ im Excel-Paket.
worksheet.Cells[1, 1].Value = "Hello"; Setzt den Wert der Zelle in Zeile 1, Spalte 1 mit EPPlus auf „Hallo“.
IWorkbook workbook = new XSSFWorkbook(); Initialisiert eine neue Arbeitsmappeninstanz zum Erstellen von XLSX-Dateien mithilfe von NPOI.
ISheet sheet = workbook.CreateSheet("Sheet1"); Erstellt mithilfe von NPOI ein neues Blatt mit dem Namen „Blatt1“ in der Arbeitsmappe.
IRow row = sheet.CreateRow(0); Erstellt mithilfe von NPOI eine neue Zeile am Index 0 im Blatt.
row.CreateCell(0).SetCellValue("Hello"); Setzt den Wert der Zelle in Zeile 0, Spalte 0 mithilfe von NPOI auf „Hallo“.

Grundlegendes zur Erstellung von Excel-Dateien in C#

Die oben bereitgestellten Skripte veranschaulichen, wie Sie Excel-Dateien (.XLS und .XLSX) in C# erstellen, ohne Microsoft Office zu installieren, indem Sie zwei beliebte Bibliotheken verwenden: EPPlus und NPOI. Das erste Skript nutzt die EPPlus-Bibliothek. Zunächst wird mit dem Befehl der Lizenzkontext für EPPlus auf nichtkommerzielle Nutzung festgelegt ExcelPackage.LicenseContext = LicenseContext.NonCommercial;. Dadurch wird die Einhaltung der EPPlus-Lizenzbedingungen sichergestellt. Als Nächstes wird mithilfe von eine neue Excel-Paketinstanz erstellt using (var package = new ExcelPackage())und fügt mithilfe von ein neues Arbeitsblatt mit dem Namen „Sheet1“ hinzu var worksheet = package.Workbook.Worksheets.Add("Sheet1");. Daten werden zu Zellen hinzugefügt, indem ihre Werte direkt festgelegt werden, z. B. worksheet.Cells[1, 1].Value = "Hello"; weist der ersten Zelle in der ersten Zeile den Wert „Hallo“ zu. Die Datei wird dann mit auf der Festplatte gespeichert package.SaveAs(new FileInfo("example.xlsx"));, um den Erstellungsprozess der Excel-Datei abzuschließen.

Das zweite Skript nutzt die NPOI-Bibliothek, um eine Excel-Datei zu erstellen. Es beginnt mit der Initialisierung einer neuen Arbeitsmappeninstanz zum Erstellen von XLSX-Dateien IWorkbook workbook = new XSSFWorkbook();. Mit wird in der Arbeitsmappe ein neues Blatt mit dem Namen „Blatt1“ erstellt ISheet sheet = workbook.CreateSheet("Sheet1");. Zeilen und Zellen werden durch Aufruf erstellt und mit Daten gefüllt IRow row = sheet.CreateRow(0); Und row.CreateCell(0).SetCellValue("Hello");, jeweils. Die erstellte Arbeitsmappe wird dann in einen Dateistream geschrieben und mit a auf der Festplatte gespeichert FileStream eingewickelt in eine using Erklärung für ein ordnungsgemäßes Ressourcenmanagement. Endlich, Console.WriteLine("Excel file created successfully!"); gibt eine Erfolgsmeldung an die Konsole aus. Diese Skripte zeigen, wie leistungsstark und vielseitig diese Bibliotheken zum Generieren von Excel-Dateien in C# sind, ohne dass Microsoft Office installiert sein muss.

Generieren von Excel-Dateien mit EPPlus in C#

Dieses Skript demonstriert das Erstellen einer Excel-Datei mithilfe der EPPlus-Bibliothek in C#.

using System;
using System.IO;
using OfficeOpenXml;

namespace ExcelCreationExample
{
    class Program
    {
        static void Main(string[] args)
        {
            ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
            using (var package = new ExcelPackage())
            {
                var worksheet = package.Workbook.Worksheets.Add("Sheet1");
                worksheet.Cells[1, 1].Value = "Hello";
                worksheet.Cells[1, 2].Value = "World";
                var file = new FileInfo("example.xlsx");
                package.SaveAs(file);
                Console.WriteLine("Excel file created successfully!");
            }
        }
    }
}

Excel-Dateien mit NPOI in C# erstellen

Dieses Skript zeigt, wie Sie mit der NPOI-Bibliothek eine Excel-Datei in C# erstellen.

using System;
using System.IO;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;

namespace ExcelCreationExample
{
    class Program
    {
        static void Main(string[] args)
        {
            IWorkbook workbook = new XSSFWorkbook();
            ISheet sheet = workbook.CreateSheet("Sheet1");
            IRow row = sheet.CreateRow(0);
            row.CreateCell(0).SetCellValue("Hello");
            row.CreateCell(1).SetCellValue("World");
            using (var file = new FileStream("example.xlsx", FileMode.Create, FileAccess.Write))
            {
                workbook.Write(file);
            }
            Console.WriteLine("Excel file created successfully!");
        }
    }
}

Erstellen von Excel-Dateien mit ClosedXML in C#

Eine weitere hervorragende Bibliothek zum Erstellen von Excel-Dateien in C#, ohne dass Microsoft Office erforderlich ist, ist ClosedXML. ClosedXML ist eine .NET-Bibliothek zum Lesen, Bearbeiten und Schreiben von Excel 2007+-Dateien (.XLSX). Es ist intuitiv und einfach zu bedienen, was es zu einem Favoriten unter Entwicklern macht. Mit ClosedXML können Sie Excel-Dateien mit umfangreichen Funktionen erstellen, z. B. Zellen formatieren, Formeln hinzufügen und Tabellen erstellen. Um ClosedXML verwenden zu können, müssen Sie es über NuGet installieren. Nach der Einrichtung können Sie mit nur wenigen Codezeilen eine neue Excel-Arbeitsmappe erstellen. Sie initiieren beispielsweise eine neue Arbeitsmappe und fügen mithilfe von ein Arbeitsblatt mit dem Namen „Blatt1“ hinzu var workbook = new XLWorkbook(); Und var worksheet = workbook.Worksheets.Add("Sheet1"); Befehle.

Mit Befehlen wie können Daten zu Zellen hinzugefügt werden worksheet.Cell(1, 1).Value = "Hello";, und Sie können mit einfachen, lesbaren Befehlen Zellen formatieren, Rahmen hinzufügen und Schriftstile festlegen. Sobald Ihre Daten festgelegt sind, speichern Sie die Arbeitsmappe mit in einer Datei workbook.SaveAs("example.xlsx");. ClosedXML unterstützt eine Vielzahl von Funktionen, darunter Pivot-Tabellen, bedingte Formatierung und Diagramme, was es zu einem leistungsstarken Tool zum programmgesteuerten Erstellen komplexer Excel-Dokumente macht. Diese Flexibilität stellt sicher, dass Entwickler auf ihre spezifischen Anforderungen zugeschnittene Excel-Dateien generieren können, ohne auf die Installation von Microsoft Office angewiesen zu sein, wodurch die Bereitstellung und Verteilung von Anwendungen vereinfacht wird.

Häufig gestellte Fragen zum Erstellen von Excel-Dateien in C#

  1. Wie installiere ich EPPlus in meinem Projekt?
  2. Sie können EPPlus mit dem NuGet Package Manager mit dem Befehl installieren Install-Package EPPlus.
  3. Was ist der Unterschied zwischen EPPlus und NPOI?
  4. EPPlus ist bekannt für seine Benutzerfreundlichkeit und unterstützt nur .XLSX-Dateien, während NPOI sowohl .XLS- als auch .XLSX-Formate unterstützt, aber eine steilere Lernkurve aufweist.
  5. Kann ClosedXML große Excel-Dateien effizient verarbeiten?
  6. Ja, ClosedXML kann große Excel-Dateien verarbeiten, die Leistung kann jedoch je nach Komplexität der Daten und durchgeführten Vorgänge variieren.
  7. Ist es möglich, mit ClosedXML Diagramme in Excel-Dateien zu erstellen?
  8. Ja, ClosedXML unterstützt das Erstellen verschiedener Diagrammtypen in Excel-Dateien.
  9. Wie formatiere ich Zellen mit ClosedXML?
  10. Sie können Zellen mit Befehlen wie formatieren worksheet.Cell(1, 1).Style.Font.Bold = true; um die Schriftart auf Fett einzustellen.
  11. Kann ich mit EPPlus Formeln zu Zellen hinzufügen?
  12. Ja, Sie können Formeln zu Zellen in EPPlus hinzufügen, indem Sie Befehle wie verwenden worksheet.Cells[1, 1].Formula = "SUM(A1:A10)";.
  13. Welche Dateiformate unterstützt NPOI?
  14. NPOI unterstützt sowohl die Dateiformate .XLS als auch .XLSX.
  15. Wie speichere ich eine Excel-Datei mit EPPlus?
  16. Mit dem Befehl können Sie eine Excel-Datei speichern package.SaveAs(new FileInfo("example.xlsx"));.
  17. Ist die Nutzung von ClosedXML kostenlos?
  18. Ja, ClosedXML kann kostenlos verwendet werden und ist unter der MIT-Lizenz lizenziert.

Abschließende Gedanken zum Erstellen von Excel-Dateien in C#

Das Erstellen von Excel-Dateien in C# ohne die Installation von Microsoft Office ist für Entwickler ein äußerst praktischer Ansatz. Durch die Verwendung von Bibliotheken wie EPPlus, NPOI und ClosedXML können Sie problemlos Excel-Tabellen erstellen und bieten eine breite Palette an Funktionen und Anpassungsoptionen. Diese Lösungen vereinfachen nicht nur den Entwicklungsprozess, sondern sorgen auch dafür, dass Ihre Anwendungen besser portierbar und einfacher in verschiedenen Umgebungen bereitzustellen sind.