In diesem Artikel erfahren Sie, wie Sie Excel XLS/XLSX Dateien programmgesteuert in C# erstellen, ohne MS Office zu installieren.
Tabellenkalkulationen sind heutzutage zu einem wesentlichen Bestandteil der Aufbewahrung, Organisation und Analyse von Daten geworden. Tabellenkalkulationen wie MS Excel können Berechnungen und Sortierungen durchführen, Grafiken oder Diagramme erstellen, Budgets erstellen und viele andere Buchhaltungs oder Datenanalyseaufgaben ausführen. Da heutzutage automatisierte Lösungen mehr im Geschäft sind, hat sich der Trend zur Erstellung und Bearbeitung von Excel Dokumenten (XLS/XLSX) entwickelt und nimmt mit enormer Geschwindigkeit zu. Dieser Anwendungsfall hat die Notwendigkeit einer Excel-Automatisierungslösung erhöht.
In Anlehnung an das oben genannte Szenario möchte dieser umfassende Artikel Ihnen einige grundlegende Funktionen für die Excel-Automatisierung in C# .NET Anwendungen zeigen.
- C# Excel-Automatisierungs-API
- Excel XLS oder XLSX Dateien dynamisch mit C# erstellen
- Daten mit C# in die vorhandene Excel Datei schreiben
- Diagramme oder Grafiken in einer Excel Datei mit C# erstellen
- Erstellen Sie eine Tabelle in einer Excel Datei mit C#
C# API zum Erstellen von Excel Dateien
Um mit Excel Dokumenten zu arbeiten, verwenden wir Aspose.Cells for .NET, eine leistungsstarke API zum Erstellen, Lesen und Bearbeiten von Tabellenkalkulation Dokumenten, einschließlich XLS und XLSX Dateien. Sie können die API entweder herunterladen oder auf eine der folgenden Arten installieren:
Verwenden des NuGet Paket Managers
Verwenden der Paket-Manager Konsole
PM> Install-Package Aspose.Cells
Erstellen Sie ein Excel XLS oder XLSX in C#
Eine Excel Datei wird auch als Arbeitsmappe bezeichnet, die aus einzelnen oder mehreren Arbeitsblättern besteht, die die Zeilen und Spalten zum Speichern der Daten enthalten. Somit fungiert eine Arbeitsmappe als Container der Arbeitsblätter in einer Excel Datei. Um also eine Excel Datei zu erstellen, erstellen Sie zuerst eine Arbeitsmappe und dann die Arbeitsblätter in dieser Arbeitsmappe. Im Folgenden sind die Schritte zum Erstellen einer Excel Datei mit Aspose.Cells for .NET aufgeführt.
- Erstellen Sie eine Instanz der Klasse Workbook.
- Greifen Sie auf das erste Arbeitsblatt (standardmäßig erstellt) der Arbeitsmappe zu.
- Greifen Sie auf die gewünschte(n) Zelle(n) des Arbeitsblatts zu und geben Sie den Wert in die Zelle(n) ein.
- Speichern Sie die Arbeitsmappe als XLS oder XLSX Datei.
Das folgende Codebeispiel zeigt, wie Sie eine Excel XLSX Datei mit C# erstellen.
// Instanziieren Sie ein Workbook objekt, das eine Excel Datei darstellt.
Workbook wb = new Workbook();
// Wenn Sie eine neue Arbeitsmappe erstellen, wird der Arbeitsmappe standardmäßig „Sheet1“ hinzugefügt.
Worksheet sheet = wb.Worksheets[0];
// Greifen Sie auf die Zelle "A1" im Blatt zu.
Cell cell = sheet.Cells["A1"];
// Geben Sie das "Hello World!" Text in die Zelle "A1".
cell.PutValue("Hello World!");
// Speichern Sie die Excel Datei als .xlsx Datei.
wb.Save("Excel.xlsx", SaveFormat.Xlsx);
Ausgabe
Daten in eine Excel XLSX Datei in C# schreiben
Falls Sie Daten in eine vorhandene Excel Datei bearbeiten und schreiben möchten, können Sie dies auch auf ähnliche Weise tun. Laden Sie einfach das Excel-Quelltabellendokument mithilfe des Workbook objekts und greifen Sie auf die gewünschten Arbeitsblätter und Zellen zu. Im Folgenden sind die Schritte zum Bearbeiten einer vorhandenen Excel Datei aufgeführt.
- Excel Datei in einem FileStream objekt öffnen.
- Erstellen Sie eine Instanz von Workbook und initialisieren Sie sie mit dem FileStream objekt.
- Greifen Sie mit den Klassen Worksheet bzw. Cell auf die Arbeitsblätter und Zellen zu.
- Speichern Sie die Arbeitsmappe als Excel XLSX Datei.
Das folgende Codebeispiel zeigt, wie Daten in einer vorhandenen Excel XLSX Datei in C# bearbeitet und geschrieben werden.
// Instanziieren Sie ein Workbook objekt, das eine Excel Datei darstellt.
Workbook wb = new Workbook("Excel.xlsx");
// Greifen Sie in der Arbeitsmappe auf „Sheet1“ zu.
Worksheet sheet = wb.Worksheets[0];
// Greifen Sie auf die Zelle "A1" im Blatt zu.
Cell cell = sheet.Cells["A1"];
// Geben Sie das "Hello World!" Text in die Zelle "A1".
cell.PutValue("The cell's value is updated.");
// Speichern Sie die Excel Datei als .xlsx.
wb.Save("Excel_updated.xlsx", SaveFormat.Xlsx);
Erstellen Sie Diagramme oder Grafiken in einer Excel XLSX Datei mit C#
Excel-Tabellen bieten eine gute Möglichkeit, die Daten mithilfe von Grafiken und Diagrammen visuell zu analysieren oder darzustellen. Aspose.Cells for .NET bietet einen vollständigen Satz von Klassen zum Erstellen und Bearbeiten einer ChartType in Excel-Tabellen, wobei jede Klasse zum Ausführen bestimmter Aufgaben verwendet wird.
Um die Diagramme in einer Excel Datei zu erstellen, müssen Sie die folgenden Schritte ausführen:
- Fügen Sie einige Daten (die als Datenquelle verwendet werden sollen) zum Arbeitsblatt hinzu, indem Sie auf seine Zellen zugreifen.
- Fügen Sie dem Arbeitsblatt mithilfe der Sammlung Worksheet.Charts ein neues Diagrammobjekt hinzu, indem Sie den Diagrammtyp mithilfe der Aufzählung ChartType übergeben.
- Rufen Sie das neu erstellte Diagramm aus der Sammlung in einem Chart objekt ab.
- Geben Sie den Zellbereich an, um die Datenquelle für das Diagrammobjekt bereitzustellen.
- Speichern Sie die Arbeitsmappe als Excel XLSX Datei.
Das folgende Codebeispiel zeigt, wie Sie ein Diagramm in einer Excel XLSX Datei in C# erstellen.
// Instanziieren Sie ein Workbook objekt, das eine Excel Datei darstellt.
Workbook wb = new Workbook();
// Fügen Sie dem Excel objekt ein neues Arbeitsblatt hinzu.
int sheetIndex = wb.Worksheets.Add();
// Rufen Sie die Referenz des neu hinzugefügten Arbeitsblatts ab, indem Sie dessen Blattindex übergeben.
Worksheet worksheet = wb.Worksheets[sheetIndex];
// Fügen Sie Dummy-Werte zu Zellen hinzu.
worksheet.Cells["A1"].PutValue(50);
worksheet.Cells["A2"].PutValue(100);
worksheet.Cells["A3"].PutValue(150);
worksheet.Cells["B1"].PutValue(4);
worksheet.Cells["B2"].PutValue(20);
worksheet.Cells["B3"].PutValue(50);
// Fügen Sie dem Arbeitsblatt ein Diagramm hinzu.
int chartIndex = worksheet.Charts.Add(Charts.ChartType.Pyramid, 5, 0, 15, 5);
// Greifen Sie auf die Instanz des neu hinzugefügten Diagramms zu.
Charts.Chart chart = worksheet.Charts[chartIndex];
// Fügen Sie SeriesCollection (Diagrammdatenquelle) zum Diagramm hinzu, das von Zelle „A1“ bis „B3“ reicht.
chart.NSeries.Add("A1:B3", true);
// Speichern Sie die Excel Datei.
wb.Save("Excel_Chart.xlsx", SaveFormat.Xlsx);
Ausgabe
Weitere Informationen zum Erstellen von Diagrammen in Excel Arbeitsblättern mit C#.
Erstellen Sie eine Tabelle in Excel XLSX Datei in C#
Sie können auch eine Tabelle aus dem Zellbereich in einem Excel-Arbeitsblatt erstellen und eine Zeile für die Summe (Summe, Anzahl usw.) in die Tabelle einfügen. Im Folgenden sind die Schritte zum Erstellen einer Tabelle in einer Excel Datei (XLSX) mit Aspose.Cells for .NET aufgeführt:
- Laden Sie eine Excel Arbeitsmappe oder erstellen Sie eine neue mit der Workbook Klasse.
- Fügen Sie den Zellen des Arbeitsblatts Daten hinzu.
- Fügen Sie dem Arbeitsblatt ein neues ListObject hinzu.
- Setzen Sie die Eigenschaft ListObject.ShowTotals auf true.
- Berechnen Sie die Summe und speichern Sie die Arbeitsmappe als Excel XLSX Datei.
Das folgende Codebeispiel zeigt, wie Sie eine Tabelle in einem Excel-Arbeitsblatt in C# erstellen.
// Instanziieren Sie ein Workbook objekt, das eine Excel Datei darstellt.
Workbook wb = new Workbook();
// Holen Sie sich das erste Arbeitsblatt.
Worksheet sheet = wb.Worksheets[0];
// Abrufen der Zellensammlung des Arbeitsblatts
Cells cells = sheet.Cells;
// Festlegen des Wertes für die Zellen
Aspose.Cells.Cell cell = cells["A1"];
cell.PutValue("Employee");
cell = cells["B1"];
cell.PutValue("Quarter");
cell = cells["C1"];
cell.PutValue("Product");
cell = cells["D1"];
cell.PutValue("Continent");
cell = cells["E1"];
cell.PutValue("Country");
cell = cells["F1"];
cell.PutValue("Sale");
cell = cells["A2"];
cell.PutValue("David");
cell = cells["A3"];
cell.PutValue("David");
cell = cells["A4"];
cell.PutValue("David");
cell = cells["A5"];
cell.PutValue("David");
cell = cells["A6"];
cell.PutValue("James");
cell = cells["B2"];
cell.PutValue(1);
cell = cells["B3"];
cell.PutValue(2);
cell = cells["B4"];
cell.PutValue(3);
cell = cells["B5"];
cell.PutValue(4);
cell = cells["B6"];
cell.PutValue(1);
cell = cells["C2"];
cell.PutValue("Maxilaku");
cell = cells["C3"];
cell.PutValue("Maxilaku");
cell = cells["C4"];
cell.PutValue("Chai");
cell = cells["C5"];
cell.PutValue("Maxilaku");
cell = cells["C6"];
cell.PutValue("Chang");
cell = cells["D2"];
cell.PutValue("Asia");
cell = cells["D3"];
cell.PutValue("Asia");
cell = cells["D4"];
cell.PutValue("Asia");
cell = cells["D5"];
cell.PutValue("Asia");
cell = cells["D6"];
cell.PutValue("Europe");
cell = cells["E2"];
cell.PutValue("China");
cell = cells["E3"];
cell.PutValue("India");
cell = cells["E4"];
cell.PutValue("Korea");
cell = cells["E5"];
cell.PutValue("India");
cell = cells["E6"];
cell.PutValue("France");
cell = cells["F2"];
cell.PutValue(2000);
cell = cells["F3"];
cell.PutValue(500);
cell = cells["F4"];
cell.PutValue(1200);
cell = cells["F5"];
cell.PutValue(1500);
cell = cells["F6"];
cell.PutValue(500);
// Hinzufügen eines neuen Listenobjekts zum Arbeitsblatt
Tables.ListObject listObject = sheet.ListObjects[sheet.ListObjects.Add("A1", "F6", true)];
// Hinzufügen des Standardstils zur Tabelle
listObject.TableStyleType = Tables.TableStyleType.TableStyleMedium10;
// Summe anzeigen
listObject.ShowTotals = true;
// Legen Sie den Berechnungstyp des Felds „Quartal“ fest
listObject.ListColumns[1].TotalsCalculation = Tables.TotalsCalculation.Count;
// Speichern Sie die Excel Datei.
wb.Save("Excel_Table.xlsx", SaveFormat.Xlsx);
Ausgabe
Weitere Informationen zum Arbeiten mit Tabellen in Excel Arbeitsblättern mit C#.
Fazit
In diesem Artikel haben Sie gelernt, wie Sie mit C# Excel Dateien von Grund auf neu erstellen. Außerdem haben Sie gesehen, wie Sie Daten in Blätter einfügen, Diagramme erstellen und Tabellen in Excel Dateien einfügen. Sie können sich die Dokumentation von Aspose.Cells for .NET ansehen, um mehr über die erweiterten Funktionen für die Bearbeitung von Excel Dateien in C# zu erfahren.