Wie man mit IronXL in C# .NET Core Excel-Tabellen erstellt
Die programmatische Generierung von Excel-Tabellen in ASP.NET Core eröffnet leistungsstarke Automatisierungsmöglichkeiten – von Finanzberichten und Bestandsverfolgung bis hin zum Datenexport und automatisierten Dashboards. Bei der Entwicklung von Webanwendungen verbessert die Integration der .NET Core Excel-Tabellengenerierung die Zugänglichkeit von Daten und die Erstellung von Berichten, so dass Benutzer mit komplexen Datensätzen interagieren und wertvolle Erkenntnisse daraus gewinnen können. Mit IronXL for .NET können Entwickler Excel-Dateien erstellen, ohne Microsoft Office installieren oder auf Office Interop zurückgreifen zu müssen. Diese plattformübergreifende Bibliothek läuft unter Windows, Linux und macOS und eignet sich somit ideal für moderne datengesteuerte Anwendungen, die in Azure- oder Docker-Containern bereitgestellt werden.
Dieses Tutorial führt durch die Erstellung von .NET Core Excel-Tabellen mit professioneller Formatierung, Formeln und mehreren Exportoptionen. Ob Sie ASP.NET Core Webanwendungen, Konsolenanwendungen oder Hintergrunddienste erstellen, diese Techniken sind auf alle .NET 10-Anwendungen anwendbar. Am Ende verfügen Sie über funktionierenden Code zur Generierung produktionsreifer Excel-Dateien, die sich in bestehende Projekte in Visual Studio oder einer beliebigen .NET Entwicklungsumgebung integrieren lassen.
Wie installiert man IronXL in einem .NET Core -Projekt?
Bevor Sie Tabellenkalkulationen erstellen, müssen Sie IronXL zu Ihrem Projekt hinzufügen. Öffnen Sie die NuGet Paket-Manager-Konsole in Visual Studio und führen Sie einen dieser Befehle aus:
Install-Package IronXL
dotnet add package IronXL
Install-Package IronXL
dotnet add package IronXL
Der erste Befehl funktioniert in der Visual Studio Package Manager Console. Die zweite Methode funktioniert in jedem Terminal, das die .NET Befehlszeilenschnittstelle verwendet. Beide installieren dasselbe NuGet Paket und fügen IronXL automatisch zu Ihren Projektverweisen hinzu.
Nach Abschluss der Installation ist IronXL mit einer einzigen using Direktive einsatzbereit. Die Bibliothek erfordert keine zusätzliche Konfiguration, Laufzeitabhängigkeiten oder eine Installation von Microsoft Office. Es funktioniert auf jeder Plattform, auf der .NET 10 ausgeführt wird – Windows, Linux, macOS oder in jeder Cloud-Umgebung.
Ausführliche Installationsoptionen, einschließlich des manuellen DLL-Downloads, finden Sie im IronXL Installationshandbuch . Linux-Entwickler sollten zudem die Linux-Bereitstellungsdokumentation lesen, um plattformspezifische Anleitungen zu erhalten.

Wie erstellt man eine Excel-Tabelle ohne Office-Abhängigkeiten?
Die herkömmliche Microsoft Excel-Automatisierung erfordert die Installation von MS Office und verwendet Office Interop, das unter Linux oder in Containerumgebungen nicht funktioniert. Wie in der Dokumentation von Microsoft zu Office Interop erläutert, bringt Office Interop zusätzliche Komplexität bei der Bereitstellung und Probleme bei der Lizenzierung mit sich. IronXL for .NET beseitigt diese Beschränkungen durch die Bereitstellung einer reinen .NET-Lösung, die Excel-Dateien nativ mit voller Unterstützung für moderne Tabellenkalkulationsfunktionen verarbeitet.
Die Bibliothek unterstützt .NET 8, .NET 9 und .NET 10, sowie frühere .NET Core Versionen. Sie verarbeitet XLSX, XLS, CSV und andere Tabellenkalkulationsformate ohne externe Abhängigkeiten. Dies macht es besonders wertvoll für serverseitige Anwendungen, Microservices und Szenarien, in denen die Installation von Microsoft Office nicht praktikabel ist. Die einfache Integration über NuGet ermöglicht es Ihnen, innerhalb weniger Minuten mit dem Schreiben von Excel-Dateien zu beginnen:
using IronXL;
// Create a new workbook in XLSX format
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
// Add an Excel worksheet with a custom name
WorkSheet sheet = workbook.CreateWorkSheet("SalesReport");
// Set a cell value
sheet["A1"].Value = "Product Sales Summary";
// Save the generated Excel file
workbook.SaveAs("SalesReport.xlsx");
using IronXL;
// Create a new workbook in XLSX format
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
// Add an Excel worksheet with a custom name
WorkSheet sheet = workbook.CreateWorkSheet("SalesReport");
// Set a cell value
sheet["A1"].Value = "Product Sales Summary";
// Save the generated Excel file
workbook.SaveAs("SalesReport.xlsx");
Imports IronXL
' Create a new workbook in XLSX format
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
' Add an Excel worksheet with a custom name
Dim sheet As WorkSheet = workbook.CreateWorkSheet("SalesReport")
' Set a cell value
sheet("A1").Value = "Product Sales Summary"
' Save the generated Excel file
workbook.SaveAs("SalesReport.xlsx")
Die WorkBook.Create()-Methode initialisiert eine neue Excel-Arbeitsmappe und akzeptiert einen ExcelFileFormat-Parameter zur Angabe von XLSX (modernes XML-basiertes Format, das in Excel 2007 eingeführt wurde) oder XLS (altes Binärformat). Aufgrund der geringeren Dateigröße und der besseren Kompatibilität mit modernen Tools wird für die meisten Szenarien XLSX empfohlen. Die Methode CreateWorkSheet() fügt benannte Arbeitsblätter hinzu, in denen Excel-Daten gespeichert werden - jede Arbeitsmappe kann mehrere einzelne Blätter enthalten, um zusammengehörige Daten zu organisieren.
Die Zellwerte werden in Klammern gesetzt, die das Adressierungssystem von Excel widerspiegeln - sheet["A1"] zielt direkt auf Zelle A1. Diese Syntax unterstützt sowohl einzelne Zellen als auch Bereiche und vereinfacht so Massenoperationen für jedes Tabellenkalkulationsprojekt.
Ausgabe

Wie fügt man Arbeitsblätter hinzu und füllt Daten programmatisch ein?
Echte Excel-Tabellen enthalten strukturierte Daten auf mehreren Arbeitsblättern. IronXL bietet flexible Methoden für die Organisation von Informationen und die effiziente Befüllung von Zellen, unabhängig davon, ob mit manueller Dateneingabe oder automatisierten Datenpipelines in datengesteuerten Anwendungen gearbeitet wird.
using IronXL;
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet sheet = workbook.CreateWorkSheet("MonthlySales");
// Set column names as headers
sheet["A1"].Value = "Month";
sheet["B1"].Value = "Revenue";
sheet["C1"].Value = "Units Sold";
// Populate Excel data using a loop (mock sales data)
string[] months = { "January", "February", "March", "April", "May", "June" };
decimal[] revenue = { 45000.50m, 52000.75m, 48500.25m, 61000.00m, 58750.50m, 67200.25m };
int[] units = { 150, 175, 160, 200, 190, 220 };
for (int i = 0; i < months.Length; i++)
{
int row = i + 2;
sheet[$"A{row}"].Value = months[i];
sheet[$"B{row}"].Value = revenue[i];
sheet[$"C{row}"].Value = units[i];
}
// Set a range of cells to the same value across columns
sheet["D2:D7"].Value = "Active";
workbook.SaveAs("MonthlySales.xlsx");
using IronXL;
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet sheet = workbook.CreateWorkSheet("MonthlySales");
// Set column names as headers
sheet["A1"].Value = "Month";
sheet["B1"].Value = "Revenue";
sheet["C1"].Value = "Units Sold";
// Populate Excel data using a loop (mock sales data)
string[] months = { "January", "February", "March", "April", "May", "June" };
decimal[] revenue = { 45000.50m, 52000.75m, 48500.25m, 61000.00m, 58750.50m, 67200.25m };
int[] units = { 150, 175, 160, 200, 190, 220 };
for (int i = 0; i < months.Length; i++)
{
int row = i + 2;
sheet[$"A{row}"].Value = months[i];
sheet[$"B{row}"].Value = revenue[i];
sheet[$"C{row}"].Value = units[i];
}
// Set a range of cells to the same value across columns
sheet["D2:D7"].Value = "Active";
workbook.SaveAs("MonthlySales.xlsx");
Imports IronXL
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim sheet As WorkSheet = workbook.CreateWorkSheet("MonthlySales")
' Set column names as headers
sheet("A1").Value = "Month"
sheet("B1").Value = "Revenue"
sheet("C1").Value = "Units Sold"
' Populate Excel data using a loop (mock sales data)
Dim months As String() = {"January", "February", "March", "April", "May", "June"}
Dim revenue As Decimal() = {45000.5D, 52000.75D, 48500.25D, 61000.0D, 58750.5D, 67200.25D}
Dim units As Integer() = {150, 175, 160, 200, 190, 220}
For i As Integer = 0 To months.Length - 1
Dim row As Integer = i + 2
sheet($"A{row}").Value = months(i)
sheet($"B{row}").Value = revenue(i)
sheet($"C{row}").Value = units(i)
Next
' Set a range of cells to the same value across columns
sheet("D2:D7").Value = "Active"
workbook.SaveAs("MonthlySales.xlsx")
Die String-Interpolation ($"A{row}") ermöglicht die dynamische Adressierung von Zellen innerhalb von Schleifen, wodurch das programmgesteuerte Auffüllen von Zeilen aus beliebigen Datenquellen vereinfacht wird. Die Bereichssyntax sheet["D2:D7"] wendet Werte auf mehrere Zellen gleichzeitig an - nützlich für Statusspalten, Standardwerte oder die Initialisierung von Datenbereichen. IronXL übernimmt die Datentypkonvertierung automatisch, speichert Dezimalzahlen als numerische Werte und Zeichenketteninhalte als Text, wobei die entsprechenden Excel-Datentypen für die generierte Datei erhalten bleiben.
Arbeiten mit mehreren Arbeitsblättern
Durch die Erstellung mehrerer Arbeitsblätter werden zusammengehörige Excel-Daten logisch in einer einzigen Arbeitsmappe organisiert:
WorkSheet summarySheet = workbook.CreateWorkSheet("Summary");
WorkSheet detailSheet = workbook.CreateWorkSheet("Details");
WorkSheet archiveSheet = workbook.CreateWorkSheet("Archive");
WorkSheet summarySheet = workbook.CreateWorkSheet("Summary");
WorkSheet detailSheet = workbook.CreateWorkSheet("Details");
WorkSheet archiveSheet = workbook.CreateWorkSheet("Archive");
Dim summarySheet As WorkSheet = workbook.CreateWorkSheet("Summary")
Dim detailSheet As WorkSheet = workbook.CreateWorkSheet("Details")
Dim archiveSheet As WorkSheet = workbook.CreateWorkSheet("Archive")
Für Anwendungen, die eine Datenbankintegration erfordern, arbeitet IronXL mit Entity Framework Core, Dapper oder reinem ADO .NET zusammen. Daten aus DataTable-Objekten können direkt in Arbeitsblätter exportiert werden, was die Berichtsprozesse vereinfacht und es Benutzern ermöglicht, Daten systemübergreifend auszutauschen.
Mehr über die Verwaltung von Arbeitsblättern und das Schreiben von Excel-Dateien erfahren Sie in der Dokumentation. Informationen zum Einlesen einer bestehenden Excel-Datei finden Sie im Tutorial zum Laden von Excel-Dateien .
Ausgabe

Wie wendet man Professional Formatierung und Gestaltung an?
Rohdaten werden aussagekräftig, wenn sie richtig formatiert sind. IronXL unterstützt Hintergrundfarben, Schriftarten, Rahmen und Zahlenformate – essentielle Formatierungsfunktionen, die Excel-Tabellen in professionelle Berichte verwandeln, die sich für Präsentationen vor Führungskräften oder Kundenpräsentationen eignen.
using IronXL;
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet sheet = workbook.CreateWorkSheet("FormattedReport");
// Create headers with styling
sheet["A1"].Value = "Category";
sheet["B1"].Value = "Amount";
sheet["C1"].Value = "Date";
// Apply header formatting to the Excel sheet
sheet["A1:C1"].Style.SetBackgroundColor("#2E86AB");
sheet["A1:C1"].Style.Font.Bold = true;
sheet["A1:C1"].Style.Font.SetColor("#FFFFFF");
// Add sample data to specific cells
sheet["A2"].Value = "Software License";
sheet["B2"].Value = 1299.99m;
sheet["C2"].Value = DateTime.Neinw;
// Format currency and date columns
sheet["B2"].FormatString = "$#,##0.00";
sheet["C2"].FormatString = "yyyy-MM-dd";
// Add borders around the data range
var dataRange = sheet["A1:C2"];
dataRange.Style.BottomBorder.SetColor("#000000");
dataRange.Style.BottomBorder.Type = IronXL.Styles.BorderType.Thin;
workbook.SaveAs("FormattedReport.xlsx");
using IronXL;
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet sheet = workbook.CreateWorkSheet("FormattedReport");
// Create headers with styling
sheet["A1"].Value = "Category";
sheet["B1"].Value = "Amount";
sheet["C1"].Value = "Date";
// Apply header formatting to the Excel sheet
sheet["A1:C1"].Style.SetBackgroundColor("#2E86AB");
sheet["A1:C1"].Style.Font.Bold = true;
sheet["A1:C1"].Style.Font.SetColor("#FFFFFF");
// Add sample data to specific cells
sheet["A2"].Value = "Software License";
sheet["B2"].Value = 1299.99m;
sheet["C2"].Value = DateTime.Neinw;
// Format currency and date columns
sheet["B2"].FormatString = "$#,##0.00";
sheet["C2"].FormatString = "yyyy-MM-dd";
// Add borders around the data range
var dataRange = sheet["A1:C2"];
dataRange.Style.BottomBorder.SetColor("#000000");
dataRange.Style.BottomBorder.Type = IronXL.Styles.BorderType.Thin;
workbook.SaveAs("FormattedReport.xlsx");
Imports IronXL
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim sheet As WorkSheet = workbook.CreateWorkSheet("FormattedReport")
' Create headers with styling
sheet("A1").Value = "Category"
sheet("B1").Value = "Amount"
sheet("C1").Value = "Date"
' Apply header formatting to the Excel sheet
sheet("A1:C1").Style.SetBackgroundColor("#2E86AB")
sheet("A1:C1").Style.Font.Bold = True
sheet("A1:C1").Style.Font.SetColor("#FFFFFF")
' Add sample data to specific cells
sheet("A2").Value = "Software License"
sheet("B2").Value = 1299.99D
sheet("C2").Value = DateTime.Now
' Format currency and date columns
sheet("B2").FormatString = "$#,##0.00"
sheet("C2").FormatString = "yyyy-MM-dd"
' Add borders around the data range
Dim dataRange = sheet("A1:C2")
dataRange.Style.BottomBorder.SetColor("#000000")
dataRange.Style.BottomBorder.Type = IronXL.Styles.BorderType.Thin
workbook.SaveAs("FormattedReport.xlsx")
Die Eigenschaft Style stellt Formatierungsoptionen zur Verfügung, die den Möglichkeiten von Microsoft Excel entsprechen. Hintergrundfarben akzeptieren Hex-Codes (mit oder ohne Präfix #), während FormatString Zahlenformate anwendet, die mit der benutzerdefinierten Formatierungssyntax von Excel identisch sind - die gleichen Muster funktionieren in beiden Umgebungen. Die Rahmenformatierung unterstützt die Typen Dünn, Mittel, Dick und Doppelt und ermöglicht so eine präzise Steuerung der Zellgrenzen in Ihrem Excel-Arbeitsblatt.
Erweiterte Formatierungstechniken
Bei Excel-Tabellen mit umfangreichen Daten lässt CreateFreezePane(0, 1) die Kopfzeilen beim Scrollen sichtbar - eine subtile Verbesserung, die die Benutzerfreundlichkeit bei großen Datensätzen erheblich verbessert. Die Druckkonfiguration über sheet.PrintSetup regelt Ausrichtung, Ränder und Skalierung für die physische Ausgabe.
Weitere Gestaltungsmöglichkeiten finden Sie im Leitfaden zur Zellformatierung und im Tutorial zur Rahmenkonfiguration . Diese Werkzeuge geben Ihnen die vollständige Kontrolle über jeden Aspekt des Zellbildes.
Wie verwendet man Excel-Formeln für automatische Berechnungen?
Die Berechnungsfunktion von Excel automatisiert die Datenanalyse, und IronXL bietet volle Unterstützung für Formeln. Formeln werden als Zeichenketten mithilfe der Standard-Excel-Syntax definiert, und IronXL berechnet die Ergebnisse auf Anfrage automatisch – unerlässlich für Berichterstellung und Finanzanalyse.
using IronXL;
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet sheet = workbook.CreateWorkSheet("BudgetCalculations");
// Add expense data to the Excel workbook
sheet["A1"].Value = "Expense";
sheet["B1"].Value = "Amount";
sheet["A2"].Value = "Rent";
sheet["B2"].Value = 2500;
sheet["A3"].Value = "Utilities";
sheet["B3"].Value = 350;
sheet["A4"].Value = "Supplies";
sheet["B4"].Value = 875;
sheet["A5"].Value = "Marketing";
sheet["B5"].Value = 1200;
// Add formulas for calculations
sheet["A7"].Value = "Total:";
sheet["B7"].Formula = "=SUM(B2:B5)";
sheet["A8"].Value = "Average:";
sheet["B8"].Formula = "=AVERAGE(B2:B5)";
sheet["A9"].Value = "Maximum:";
sheet["B9"].Formula = "=MAX(B2:B5)";
sheet["A10"].Value = "Count:";
sheet["B10"].Formula = "=COUNT(B2:B5)";
// Calculate all formulas
workbook.EvaluateAll();
// Access calculated values programmatically
decimal total = sheet["B7"].DecimalValue;
Console.WriteLine($"Calculated total: {total}");
workbook.SaveAs("BudgetCalculations.xlsx");
using IronXL;
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet sheet = workbook.CreateWorkSheet("BudgetCalculations");
// Add expense data to the Excel workbook
sheet["A1"].Value = "Expense";
sheet["B1"].Value = "Amount";
sheet["A2"].Value = "Rent";
sheet["B2"].Value = 2500;
sheet["A3"].Value = "Utilities";
sheet["B3"].Value = 350;
sheet["A4"].Value = "Supplies";
sheet["B4"].Value = 875;
sheet["A5"].Value = "Marketing";
sheet["B5"].Value = 1200;
// Add formulas for calculations
sheet["A7"].Value = "Total:";
sheet["B7"].Formula = "=SUM(B2:B5)";
sheet["A8"].Value = "Average:";
sheet["B8"].Formula = "=AVERAGE(B2:B5)";
sheet["A9"].Value = "Maximum:";
sheet["B9"].Formula = "=MAX(B2:B5)";
sheet["A10"].Value = "Count:";
sheet["B10"].Formula = "=COUNT(B2:B5)";
// Calculate all formulas
workbook.EvaluateAll();
// Access calculated values programmatically
decimal total = sheet["B7"].DecimalValue;
Console.WriteLine($"Calculated total: {total}");
workbook.SaveAs("BudgetCalculations.xlsx");
Imports IronXL
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim sheet As WorkSheet = workbook.CreateWorkSheet("BudgetCalculations")
' Add expense data to the Excel workbook
sheet("A1").Value = "Expense"
sheet("B1").Value = "Amount"
sheet("A2").Value = "Rent"
sheet("B2").Value = 2500
sheet("A3").Value = "Utilities"
sheet("B3").Value = 350
sheet("A4").Value = "Supplies"
sheet("B4").Value = 875
sheet("A5").Value = "Marketing"
sheet("B5").Value = 1200
' Add formulas for calculations
sheet("A7").Value = "Total:"
sheet("B7").Formula = "=SUM(B2:B5)"
sheet("A8").Value = "Average:"
sheet("B8").Formula = "=AVERAGE(B2:B5)"
sheet("A9").Value = "Maximum:"
sheet("B9").Formula = "=MAX(B2:B5)"
sheet("A10").Value = "Count:"
sheet("B10").Formula = "=COUNT(B2:B5)"
' Calculate all formulas
workbook.EvaluateAll()
' Access calculated values programmatically
Dim total As Decimal = sheet("B7").DecimalValue
Console.WriteLine($"Calculated total: {total}")
workbook.SaveAs("BudgetCalculations.xlsx")
Die Eigenschaft Formula akzeptiert die Standard-Excel-Formelsyntax - dieselben Formeln, die in Microsoft Excel funktionieren, funktionieren auch hier. Nach dem Setzen von Formeln rufen Sie EvaluateAll() auf, um die Ergebnisse zu berechnen. Dieser Schritt stellt sicher, dass berechnete Werte sofort über typisierte Eigenschaften wie DecimalValue, IntValue oder StringValue verfügbar sind. Ohne den Aufruf von EvaluateAll() werden Formeln immer noch korrekt gespeichert und berechnet, wenn sie in Excel geöffnet werden, aber der programmatische Zugriff auf die Ergebnisse muss erst ausgewertet werden.
Ausgabe


IronXL unterstützt über 150 Excel-Funktionen, darunter mathematische Operationen (SUMME, MITTELWERT, RUNDEN), statistische Funktionen (ZAEHLEN, MAX, MIN, STDEV), Textmanipulation (KONKATENIEREN, LINKS, RECHTS) und logische Operationen (WENN, UND, ODER). Weitere Informationen zu fortgeschrittenen Szenarien, einschließlich Zellbezügen über mehrere Arbeitsblätter hinweg, finden Sie im Leitfaden zur Formelbearbeitung .
Eingebaute Aggregationsmethoden
Für einfachere Szenarien, in denen Formeln nicht in der Excel-Datei gespeichert werden müssen, bietet IronXL integrierte Aggregationsmethoden:
decimal sum = sheet["B2:B5"].Sum();
decimal avg = sheet["B2:B5"].Avg();
decimal max = sheet["B2:B5"].Max();
decimal sum = sheet["B2:B5"].Sum();
decimal avg = sheet["B2:B5"].Avg();
decimal max = sheet["B2:B5"].Max();
Dim sum As Decimal = sheet("B2:B5").Sum()
Dim avg As Decimal = sheet("B2:B5").Avg()
Dim max As Decimal = sheet("B2:B5").Max()
Diese Methoden bieten eine C#-native Alternative, wenn Berechnungen nicht als sichtbare Formeln in der Tabellenkalkulation erscheinen müssen. Die objektorientierte API sorgt für lesbaren und typsicheren Code, ohne dass eine auf Zeichenketten basierende Formelsyntax erforderlich ist.
Wie exportiert man Excel-Dateien und stellt sie zum Download bereit?
IronXL unterstützt mehrere Exportformate, um unterschiedliche Integrationsanforderungen zu erfüllen. Neben den Standard-Excel-Formaten können Tabellenkalkulationen in CSV für den Datenaustausch, JSON für Webanwendungen oder TSV für die Kompatibilität mit Altsystemen exportiert werden. Diese Flexibilität macht es einfach, die Excel-Erstellung in jeden Arbeitsablauf zu integrieren.
using IronXL;
WorkBook workbook = WorkBook.Load("BudgetCalculations.xlsx");
// Export to different formats
workbook.SaveAs("output.xlsx"); // Modern Excel (Office 2007+)
workbook.SaveAs("output.xls"); // Legacy Excel (97-2003)
workbook.SaveAsCsv("output.csv"); // CSV for data import/export
workbook.SaveAsJson("output.json"); // JSON for web APIs
using IronXL;
WorkBook workbook = WorkBook.Load("BudgetCalculations.xlsx");
// Export to different formats
workbook.SaveAs("output.xlsx"); // Modern Excel (Office 2007+)
workbook.SaveAs("output.xls"); // Legacy Excel (97-2003)
workbook.SaveAsCsv("output.csv"); // CSV for data import/export
workbook.SaveAsJson("output.json"); // JSON for web APIs
Imports IronXL
Dim workbook As WorkBook = WorkBook.Load("BudgetCalculations.xlsx")
' Export to different formats
workbook.SaveAs("output.xlsx") ' Modern Excel (Office 2007+)
workbook.SaveAs("output.xls") ' Legacy Excel (97-2003)
workbook.SaveAsCsv("output.csv") ' CSV for data import/export
workbook.SaveAsJson("output.json") ' JSON for web APIs
Jedes Format dient bestimmten Anwendungsfällen. XLSX eignet sich am besten für die Beibehaltung von Formatierungen und Formeln bei der Weitergabe an Excel-Benutzer. CSV bietet maximale Kompatibilität für den Import in Datenbanken, Analysetools oder andere Tabellenkalkulationsanwendungen. JSON lässt sich nahtlos in JavaScript Frontends und REST-APIs integrieren.
Ausgabe


Bereitstellen von Excel-Dateien in ASP.NET Core
Für ASP.NET Core-Webanwendungen sind nur wenige Codezeilen erforderlich, um Excel-Dateien als herunterladbare Antworten bereitzustellen:
[HttpGet("download-report")]
public IActionResult DownloadReport()
{
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet sheet = workbook.CreateWorkSheet("Report");
sheet["A1"].Value = "Generated Report";
sheet["A2"].Value = DateTime.Neinw;
var stream = workbook.ToStream();
return File(
stream,
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"Report.xlsx"
);
}
[HttpGet("download-report")]
public IActionResult DownloadReport()
{
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet sheet = workbook.CreateWorkSheet("Report");
sheet["A1"].Value = "Generated Report";
sheet["A2"].Value = DateTime.Neinw;
var stream = workbook.ToStream();
return File(
stream,
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"Report.xlsx"
);
}
<AttributeUsage(AttributeTargets.Method)>
<HttpGet("download-report")>
Public Function DownloadReport() As IActionResult
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim sheet As WorkSheet = workbook.CreateWorkSheet("Report")
sheet("A1").Value = "Generated Report"
sheet("A2").Value = DateTime.Now
Dim stream = workbook.ToStream()
Return File(
stream,
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"Report.xlsx"
)
End Function
Die ToStream()-Methode erstellt eine MemoryStream-Datei mit der vollständigen Excel-Datei, die von der File()-Methode von ASP.NET Core mit dem entsprechenden MIME-Typ zurückgegeben wird. Dieses Muster funktioniert identisch für MVC-Controller, API-Controller und minimale APIs. Der Browser löst automatisch einen Dateidownload mit dem angegebenen Dateinamen aus, so dass die Benutzer die generierte Excel-Datei lokal speichern können.
Bei Anwendungen mit hohem Datenverkehr empfiehlt es sich, Berichte asynchron zu generieren und Ergebnisse zwischenzuspeichern, wenn sich die zugrunde liegenden Daten nicht häufig ändern – dieser Ansatz verbessert die Leistung deutlich. Die Dokumentation zur Formatkonvertierung umfasst weitere Exportszenarien, einschließlich passwortgeschützter Dateien.
Wie schneidet IronXL im Vergleich zu anderen .NET Excel-Bibliotheken ab?
Es gibt mehrere Bibliotheken für die .NET-Excel-Bearbeitung, jede mit unterschiedlichen Stärken. Die folgende Tabelle zeigt, wie sie sich hinsichtlich der für Produktionsanwendungen wichtigsten Kriterien vergleichen lassen:
| Merkmal | IronXL | Open-Source-Alternativen |
|---|---|---|
| Microsoft Office-Installation erforderlich | Nein | Nein |
| Technischer Support | Ja (24/5-Entwicklungsteam) | Gemeinschaftsbasiert |
| Plattformübergreifend (.NET Core) | Volle Unterstützung | Variiert je nach Bibliothek |
| Formelberechnungs-Engine | Mehr als 150 Funktionen | Beschränkt oder keine |
| Lizenzmodell | Kommerziell mit kostenloser Testversion | Verschiedene Open-Source-Projekte |
IronXL zeichnet sich besonders in Enterprise aus, die zuverlässigen technischen Support, Dokumentation und regelmäßige Updates erfordern. Die Bibliothek bewältigt Sonderfälle – beschädigte Dateien, komplexe Formeln und große Datensätze – problemlos, wo Open-Source-Alternativen unter Umständen Schwierigkeiten haben. Für Teams, die Entwicklungsgeschwindigkeit und Produktionssicherheit priorisieren, bietet die kommerzielle Unterstützung von IronXL Sicherheit.
Laut Diskussionen auf Stack Overflow führen Entwickler häufig die Einfachheit der API und die Qualität der Dokumentation als entscheidende Faktoren bei der Auswahl von Excel-Bibliotheken für ihre .NET Core-Projekte an. Die .NET Foundation betont ebenfalls die plattformübergreifende Bereitstellung als Priorität für die moderne .NET Entwicklung, wodurch Office-unabhängige Bibliotheken für wartungsfreundliche Lösungen unerlässlich werden.
Für sicherheitsbewusste Teams: IronXL arbeitet unabhängig von Microsoft Office und vermeidet Office Interop, wodurch das Risiko externer Sicherheitslücken minimiert wird. Die integrierte Unterstützung für Verschlüsselung und Passwortschutz ermöglicht es Ihnen, generierte Excel-Dateien zu schützen und sicherzustellen, dass nur autorisierte Benutzer auf wichtige Arbeitsblätter und Daten zugreifen oder diese bearbeiten können. Prüfen Sie die IronXL -Lizenzoptionen, um den passenden Plan für Ihr Team zu finden.
Wie geht man mit hoher Leistungsfähigkeit bei großem Umfang um?
Wenn Ihre Anwendung Excel-Dateien für viele gleichzeitige Benutzer generiert oder große Datensätze verarbeitet, wird die Leistungsplanung entscheidend. IronXL verarbeitet große Arbeitsmappen effizient, da es vollständig im Arbeitsspeicher arbeitet, ohne Office-Prozesse oder COM-Objekte zu erzeugen. Diese Architektur sorgt für einen vorhersehbaren CPU- und Speicher-Overhead.
Wichtigste Leistungsstrategien
Bei datenintensiven Berichten sollten Sie die Zellen nicht einzeln, sondern in großen Mengen ausfüllen. Das Schreiben in einen Bereich unter Verwendung der Klammerschreibweise sheet["A1:Z1000"] kann erheblich schneller sein als die Iteration durch einzelne Zellen beim Setzen einheitlicher Werte. Bei heterogenen Daten sollten Schleifen mit String-Interpolation zur dynamischen Zellenadressierung verwendet werden.
Für ASP.NET Core Endpunkte, die Berichte bei Bedarf generieren, sollten Sie die resultierenden Byte-Arrays oder MemoryStream Ausgaben mit IMemoryCache oder einem verteilten Cache wie Redis zwischenspeichern. Wenn sich die zugrunde liegenden Daten zwischen den Anfragen nicht ändern, können zwischengespeicherte Excel-Dateien sofort ohne erneute Generierung zurückgegeben werden. Diese Strategie eignet sich besonders gut für Dashboard-Exporte und geplante Berichte.
Multi-Thread-Generierung ist mit IronXL sicher, wenn jeder Thread auf seiner eigenen WorkBook Instanz arbeitet. Vermeiden Sie die gemeinsame Nutzung von Arbeitsmappen- oder Arbeitsblattinstanzen über mehrere Threads hinweg ohne Synchronisierung. Für die Verarbeitung von Hintergrundprozessen arbeiten Bibliotheken wie Hangfire oder Quartz .NET mit IronXL zusammen, um die geplante Berichtserstellung zu ermöglichen. So können Sie Dateien außerhalb der Spitzenzeiten vorab generieren.
Bei sehr großen Datensätzen empfiehlt es sich, die Daten auf mehrere Arbeitsblätter aufzuteilen, anstatt einzelne Tabellenblätter mit Zehntausenden von Zeilen zu erstellen. Die Dokumentation zum Export von DataTables zeigt effiziente Muster für den Massendatentransfer aus ADO .NET Quellen. Weitere Codebeispiele, die fortgeschrittene Szenarien wie das Lesen vorhandener Excel-Dateien oder das Arbeiten mit passwortgeschützten Arbeitsmappen abdecken, finden Sie in der vollständigen API-Referenz .
Was sind Ihre nächsten Schritte?
Mit IronXL wird das Erstellen von .NET Core Excel-Tabellenkalkulationen aus einer ehemals abhängigkeitsintensiven Aufgabe zu einem unkomplizierten .NET Vorgang. Von der einfachen Zellmanipulation über Formelberechnungen bis hin zur Professional Formatierung bietet die Bibliothek ein komplettes Toolkit für die Tabellenkalkulationsautomatisierung, das überall dort läuft, wo .NET 10 ausgeführt wird – auf Windows-Servern, Linux-Containern oder Cloud-Plattformen.
Die plattformübergreifende Architektur gewährleistet ein identisches Verhalten auf Entwicklungsmaschinen und in Produktionsumgebungen, wodurch die bei Office-Interop-Lösungen üblichen "funktioniert auf meinem Rechner"-Probleme vermieden werden. Beginnen Sie mit dem NuGet -Installationsbefehl, erstellen Sie Ihre erste Arbeitsmappe und bauen Sie darauf auf, indem Sie die in diesem Leitfaden gezeigten Muster verwenden.
Laden Sie eine kostenlose 30-Tage-Testversion herunter , um alle Funktionen uneingeschränkt zu erkunden, oder informieren Sie sich über die Lizenzoptionen für den Produktiveinsatz. Sehen Sie sich die IronXL -Codebeispiele an, um weitere Szenarien in Aktion zu erleben, und konsultieren Sie das IronXL -Dokumentationsportal für die vollständige API-Referenz und erweiterte Konfigurationsanleitungen.
Häufig gestellte Fragen
Welche Vorteile bietet IronXL für die Erstellung von Excel-Tabellen in .NET Core?
IronXL ermöglicht es Entwicklern, Excel-Dateien programmatisch zu erstellen, ohne Microsoft Office oder Office Interop zu benötigen, und bietet plattformübergreifende Kompatibilität unter Windows, Linux und macOS. Dies macht es ideal für moderne, datengesteuerte Anwendungen.
Kann IronXL in ASP.NET Core-Anwendungen verwendet werden?
Ja, IronXL kann in ASP.NET Core-Anwendungen integriert werden und ermöglicht leistungsstarke Automatisierungsmöglichkeiten wie Finanzberichte, Bestandsverfolgung und Datenexport.
Ist es möglich, mit IronXL Excel-Tabellen in Webanwendungen zu erstellen?
Ja. IronXL unterstützt die Generierung und den Download von Excel-Tabellen in Webanwendungen und verbessert so die Benutzerfreundlichkeit, indem es Benutzern ermöglicht, komplexe Datentabellen zu exportieren und mit ihnen zu interagieren.
Benötigt IronXL die Installation von Microsoft Office?
Nein, IronXL erfordert nicht die Installation von Microsoft Office. Es arbeitet unabhängig von Office Interop und vereinfacht so die Bereitstellung und Integration.
Wie verbessert IronXL die Zugänglichkeit von Daten in .NET Core-Anwendungen?
IronXL verbessert die Zugänglichkeit von Daten, indem es Entwicklern ermöglicht, programmatisch Excel-Tabellen zu generieren, die es den Benutzern erleichtern, mit komplexen Datensätzen zu interagieren und Erkenntnisse daraus zu gewinnen.
Kann IronXL in Cloud-Umgebungen wie Azure eingesetzt werden?
Ja, IronXL kann in Cloud-Umgebungen wie Azure und Docker-Containern eingesetzt werden und eignet sich daher für skalierbare, cloudbasierte Anwendungen.
Ist IronXL mit macOS und Linux kompatibel?
IronXL ist vollständig kompatibel mit macOS und Linux und bietet eine plattformübergreifende Lösung für die Erstellung von Excel-Tabellen in .NET-Anwendungen.
Welche Arten von Anwendungen profitieren von IronXL?
Anwendungen, die datengesteuerte Lösungen erfordern, wie z. B. Finanzberichte, Bestandsverwaltung und automatisierte Dashboards, profitieren in hohem Maße von der Verwendung von IronXL für die Erstellung von Excel-Tabellen.
Wie verbessert IronXL die Benutzerfreundlichkeit von Webanwendungen?
IronXL verbessert die Benutzerfreundlichkeit, indem es den Export komplexer Datentabellen in Excel-Tabellen ermöglicht, wodurch die Daten für Endbenutzer leichter zugänglich und portabel werden.




