Erstellen einer Excel-API für .NET Core: XLSX-Dateien erstellen, lesen und exportieren
Mit IronXL ist die Entwicklung einer Excel-API für .NET Core unkompliziert. Installieren Sie das Paket, erstellen Sie einen WorkBook, füllen Sie die Zellen aus, und geben Sie den Stream direkt zurück - kein Microsoft Office erforderlich.
Install-Package IronXL.Excel
IronXL übernimmt die Erstellung von XLSX-Dateien, den Datenimport, den Export in verschiedene Formate und die Zellformatierung vollständig im verwalteten .NET -Code. Es läuft unter Windows, Linux und macOS und ist somit eine praktische Wahl für jede ASP.NET Core API, die programmatische Excel-Unterstützung benötigt.
Wie installiert man IronXL in einem .NET Core -Projekt?
Fügen Sie IronXL über die NuGet -Paket-Manager-Konsole zu jedem .NET 10-Projekt hinzu:
Install-Package IronXL.Excel
Alternativ können Sie IronXL über die Visual Studio NuGet -Benutzeroberfläche installieren, indem Sie danach suchen. Der Paketname bei NuGet lautet IronXl.Excel/a>.
Fügen Sie nach der Installation using IronXL; zu jeder Datei hinzu, die Arbeitsmappen erstellt oder liest. Es werden weder Office-Interop-Bibliotheken noch eine COM-Registrierung oder eine Installation von Microsoft Excel auf dem Host-Rechner benötigt – IronXL ist vollständig in sich abgeschlossen.
IronXL zielt auf .NET Standard 2.0 und höher ab, was bedeutet, dass dieselbe Bibliothek für .NET Core, .NET 5/6/7/8/9/10- und .NET Framework Projekte funktioniert. Die IronXL Dokumentation beschreibt alle unterstützten Umgebungen im Detail.
Wie erstellt man Excel-Dateien programmatisch in .NET Core?
Mit der intuitiven API von IronXL lassen sich Excel-Dokumente von Grund auf mit nur wenigen Codezeilen erstellen. Die Bibliothek bietet durch ein übersichtliches Objektmodell die volle Kontrolle über Arbeitsmappen, Arbeitsblätter, Zellstile und Formeln.
Hier ist eine Controller-Aktion, die eine neue Excel-Arbeitsmappe mit formatierten Daten erstellt, die Tabellenblattverwaltung demonstriert und Zellstile anwendet:
using IronXL;
using Microsoft.AspNetCore.Mvc;
[ApiController]
[Route("api/[controller]")]
public class ExcelController : ControllerBase
{
[HttpGet("create-report")]
public IActionResult CreateSalesReport()
{
// Create a new Excel workbook in XLSX format
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet worksheet = workbook.CreateWorkSheet("Sales Data");
// Set header labels in the first row
worksheet["A1"].Value = "Product";
worksheet["B1"].Value = "Q1 Sales";
worksheet["C1"].Value = "Q2 Sales";
worksheet["D1"].Value = "Total";
// Bold headers and apply a blue background with white text
worksheet["A1:D1"].Style.Font.Bold = true;
worksheet["A1:D1"].Style.SetBackgroundColor("#4472C4");
worksheet["A1:D1"].Style.Font.SetColor("#FFFFFF");
// Add data rows
worksheet["A2"].Value = "Widget Pro";
worksheet["B2"].Value = 15000;
worksheet["C2"].Value = 18500;
worksheet["D2"].Formula = "=B2+C2";
worksheet["A3"].Value = "Gadget Plus";
worksheet["B3"].Value = 22000;
worksheet["C3"].Value = 24000;
worksheet["D3"].Formula = "=B3+C3";
// Apply currency number format to sales columns
worksheet["B2:D3"].Style.Format = "$#,##0";
// Stream the XLSX file back to the caller
var stream = workbook.ToStream();
return File(
stream,
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"SalesReport.xlsx");
}
}
using IronXL;
using Microsoft.AspNetCore.Mvc;
[ApiController]
[Route("api/[controller]")]
public class ExcelController : ControllerBase
{
[HttpGet("create-report")]
public IActionResult CreateSalesReport()
{
// Create a new Excel workbook in XLSX format
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet worksheet = workbook.CreateWorkSheet("Sales Data");
// Set header labels in the first row
worksheet["A1"].Value = "Product";
worksheet["B1"].Value = "Q1 Sales";
worksheet["C1"].Value = "Q2 Sales";
worksheet["D1"].Value = "Total";
// Bold headers and apply a blue background with white text
worksheet["A1:D1"].Style.Font.Bold = true;
worksheet["A1:D1"].Style.SetBackgroundColor("#4472C4");
worksheet["A1:D1"].Style.Font.SetColor("#FFFFFF");
// Add data rows
worksheet["A2"].Value = "Widget Pro";
worksheet["B2"].Value = 15000;
worksheet["C2"].Value = 18500;
worksheet["D2"].Formula = "=B2+C2";
worksheet["A3"].Value = "Gadget Plus";
worksheet["B3"].Value = 22000;
worksheet["C3"].Value = 24000;
worksheet["D3"].Formula = "=B3+C3";
// Apply currency number format to sales columns
worksheet["B2:D3"].Style.Format = "$#,##0";
// Stream the XLSX file back to the caller
var stream = workbook.ToStream();
return File(
stream,
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"SalesReport.xlsx");
}
}
Imports IronXL
Imports Microsoft.AspNetCore.Mvc
<ApiController>
<Route("api/[controller]")>
Public Class ExcelController
Inherits ControllerBase
<HttpGet("create-report")>
Public Function CreateSalesReport() As IActionResult
' Create a new Excel workbook in XLSX format
Dim workbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
Dim worksheet As WorkSheet = workbook.CreateWorkSheet("Sales Data")
' Set header labels in the first row
worksheet("A1").Value = "Product"
worksheet("B1").Value = "Q1 Sales"
worksheet("C1").Value = "Q2 Sales"
worksheet("D1").Value = "Total"
' Bold headers and apply a blue background with white text
worksheet("A1:D1").Style.Font.Bold = True
worksheet("A1:D1").Style.SetBackgroundColor("#4472C4")
worksheet("A1:D1").Style.Font.SetColor("#FFFFFF")
' Add data rows
worksheet("A2").Value = "Widget Pro"
worksheet("B2").Value = 15000
worksheet("C2").Value = 18500
worksheet("D2").Formula = "=B2+C2"
worksheet("A3").Value = "Gadget Plus"
worksheet("B3").Value = 22000
worksheet("C3").Value = 24000
worksheet("D3").Formula = "=B3+C3"
' Apply currency number format to sales columns
worksheet("B2:D3").Style.Format = "$#,##0"
' Stream the XLSX file back to the caller
Dim stream = workbook.ToStream()
Return File(
stream,
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"SalesReport.xlsx")
End Function
End Class
Ausgabedatei im Excel-Format

WorkBook.Create() unterstützt sowohl das XLSX- als auch das XLS-Format. Die Methode CreateWorkSheet() fügt ein benanntes Blatt hinzu, in dem Sie Zellen mit Werten füllen, Excel-Formeln für Berechnungen anwenden und das Layout über Zellbereiche steuern. Die Berechnungs-Engine von IronXL wertet Formeln automatisch aus, wenn sich die Arbeitsmappendaten ändern. Dies schließt auch die Unterstützung von Arrayformeln ein, die in komplexeren Datenanalyseszenarien verwendet werden.
Zellstile umfassen weit mehr als nur Fettdruck und Farbe. Mit der Zellformatierungs-API können Sie Zahlenformate, Rahmen, Ausrichtung, Schriftgrößen und mehr festlegen – alles ohne die COM-Schicht zu berühren. Dadurch ist es sicher, das Programm in containerisierten Linux-Umgebungen auszuführen, in denen kein Anzeigekontext vorhanden ist.
Wie fügt man einer Arbeitsmappe mehrere Arbeitsblätter hinzu?
Eine einzelne Arbeitsmappe kann beliebig viele Arbeitsblätter enthalten. Rufen Sie workbook.CreateWorkSheet("SheetName") für jede benötigte Registerkarte an. Die Arbeitsblätter sind später über den Namen workbook.GetWorkSheet("SheetName") oder über den Index workbook.WorkSheets[0] zugänglich.
Dieses Muster ist nützlich, wenn man Berichte mit Zusammenfassung und Details erstellt: Ein Tabellenblatt enthält die aggregierten Summen, während die untergeordneten Tabellenblätter die Rohdaten der Transaktionen enthalten. Die Dokumentation zur Tabellenblattverwaltung beschreibt das Umbenennen, Neuanordnen und Entfernen von Tabellenblättern zur Laufzeit.
Wie lassen sich Excel-Daten am besten in Web-APIs einlesen?
Der Import von Daten aus vom Benutzer hochgeladenen Excel-Dateien ist für jede Webanwendung, die Tabellenkalkulationsinhalte verarbeitet, unerlässlich. IronXL ermöglicht das direkte Lesen von Excel-Tabellen – Laden aus einem Datenstrom, Iterieren über die Zeilen und Auslesen der eingegebenen Werte aus jeder Zelle.
[HttpPost("import")]
public IActionResult ImportExcelData(IFormFile file)
{
if (file == null || file.Length == 0)
return BadRequest("No file uploaded");
using var stream = file.OpenReadStream();
// Load the workbook directly from the upload stream
WorkBook workbook = WorkBook.Load(stream);
WorkSheet worksheet = workbook.DefaultWorkSheet;
var records = new List<Dictionary<string, object>>();
// Start at row 2 to skip the header row
for (int row = 2; row <= worksheet.RowCount; row++)
{
var record = new Dictionary<string, object>
{
["Product"] = worksheet[$"A{row}"].StringValue,
["Sales"] = worksheet[$"B{row}"].DecimalValue,
["Date"] = worksheet[$"C{row}"].DateTimeValue
};
records.Add(record);
}
return Ok(new {
message = "Import successful",
recordCount = records.Count,
data = records
});
}
[HttpPost("import")]
public IActionResult ImportExcelData(IFormFile file)
{
if (file == null || file.Length == 0)
return BadRequest("No file uploaded");
using var stream = file.OpenReadStream();
// Load the workbook directly from the upload stream
WorkBook workbook = WorkBook.Load(stream);
WorkSheet worksheet = workbook.DefaultWorkSheet;
var records = new List<Dictionary<string, object>>();
// Start at row 2 to skip the header row
for (int row = 2; row <= worksheet.RowCount; row++)
{
var record = new Dictionary<string, object>
{
["Product"] = worksheet[$"A{row}"].StringValue,
["Sales"] = worksheet[$"B{row}"].DecimalValue,
["Date"] = worksheet[$"C{row}"].DateTimeValue
};
records.Add(record);
}
return Ok(new {
message = "Import successful",
recordCount = records.Count,
data = records
});
}
Imports Microsoft.AspNetCore.Mvc
Imports System.Collections.Generic
Imports IronXL
<HttpPost("import")>
Public Function ImportExcelData(file As IFormFile) As IActionResult
If file Is Nothing OrElse file.Length = 0 Then
Return BadRequest("No file uploaded")
End If
Using stream = file.OpenReadStream()
' Load the workbook directly from the upload stream
Dim workbook As WorkBook = WorkBook.Load(stream)
Dim worksheet As WorkSheet = workbook.DefaultWorkSheet
Dim records As New List(Of Dictionary(Of String, Object))()
' Start at row 2 to skip the header row
For row As Integer = 2 To worksheet.RowCount
Dim record As New Dictionary(Of String, Object) From {
{"Product", worksheet($"A{row}").StringValue},
{"Sales", worksheet($"B{row}").DecimalValue},
{"Date", worksheet($"C{row}").DateTimeValue}
}
records.Add(record)
Next
Return Ok(New With {
.message = "Import successful",
.recordCount = records.Count,
.data = records
})
End Using
End Function
Ausgabe

WorkBook.Load() öffnet Excel-Dateien aus Streams, Dateipfaden oder Byte-Arrays. Der Zugriff auf Zellen erfolgt über die worksheet["A1"] Indexer-Syntax oder durch Iteration eines benannten Zellenbereichs. IronXL übernimmt die Datenvalidierung automatisch und stellt typsichere Zugriffsmöglichkeiten zur Verfügung - IntValue, DecimalValue, DateTimeValue, StringValue - so dass der konsumierende Code sauber und vorhersehbar bleibt.
Wie filtert und sortiert man importierte Daten?
Nach dem Laden einer Arbeitsmappe, rufen Sie .SortAscending() oder .SortDescending() auf einem beliebigen Range Objekt auf, um Zeilen zu sortieren. Zum Filtern können Sie die Zellen durchlaufen und die Bedingungen direkt auswerten oder die Daten zur Weiterverarbeitung in eine LINQ-Collection übertragen. Der Leitfaden zum Sortieren und Filtern veranschaulicht beide Vorgehensweisen anhand praktischer Beispiele.
Arbeiten mit großen Uploads? IronXL liest nur die aufgerufenen Zellen, sodass es nicht nötig ist, eine ganze mehrere Megabyte große Datei in den Speicher zu laden, bevor eine bestimmte Spalte abgefragt wird. Durch diesen Ansatz des verzögerten Zugriffs bleibt der Speicherverbrauch auch bei der Verarbeitung von Arbeitsmappen mit Zehntausenden von Zeilen stabil.
Wie kann man Excel-Daten in verschiedene Formate exportieren?
Anwendungen müssen häufig Tabellenkalkulationen in mehreren Ausgabeformaten anbieten können. IronXL unterstützt den Export nach XLSX, XLS, CSV, JSON und HTML mit einem einzigen Methodenaufruf, ohne dass externe Konvertierungstools erforderlich sind.
[HttpGet("export/{format}")]
public IActionResult ExportData(string format)
{
// Load a pre-designed template workbook
WorkBook workbook = WorkBook.Load("template.xlsx");
return format.ToLower() switch
{
"xlsx" => File(
workbook.ToStream(),
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"export.xlsx"),
"csv" => File(
workbook.ToStream(FileFormat.CSV),
"text/csv",
"export.csv"),
"json" => Ok(workbook.ToJson()),
_ => BadRequest("Unsupported format")
};
}
[HttpGet("export/{format}")]
public IActionResult ExportData(string format)
{
// Load a pre-designed template workbook
WorkBook workbook = WorkBook.Load("template.xlsx");
return format.ToLower() switch
{
"xlsx" => File(
workbook.ToStream(),
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"export.xlsx"),
"csv" => File(
workbook.ToStream(FileFormat.CSV),
"text/csv",
"export.csv"),
"json" => Ok(workbook.ToJson()),
_ => BadRequest("Unsupported format")
};
}
Imports Microsoft.AspNetCore.Mvc
<HttpGet("export/{format}")>
Public Function ExportData(format As String) As IActionResult
' Load a pre-designed template workbook
Dim workbook As WorkBook = WorkBook.Load("template.xlsx")
Select Case format.ToLower()
Case "xlsx"
Return File(workbook.ToStream(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "export.xlsx")
Case "csv"
Return File(workbook.ToStream(FileFormat.CSV), "text/csv", "export.csv")
Case "json"
Return Ok(workbook.ToJson())
Case Else
Return BadRequest("Unsupported format")
End Select
End Function
Die Verwendung von Excel-Vorlagen mit vordefinierten Layouts beschleunigt die Berichtserstellung. Laden Sie eine vordefinierte Arbeitsmappe, fügen Sie dynamische Daten in benannte Zellen oder Bereiche ein und streamen Sie anschließend das Ergebnis. Dieser Ansatz eignet sich für Verkaufsberichte, Rechnungen und Compliance-Dokumente, bei denen eine einheitliche Formatierung wichtiger ist als Flexibilität.
Dank der plattformübergreifenden Unterstützung von IronXL funktionieren diese Dateivorgänge unter Windows, Linux und macOS identisch, wodurch es sich für containerisierte .NET Core Bereitstellungen eignet. Mehr dazu im IronXL -Plattform-Leitfaden .
Wie exportiert man Daten aus einer .NET Core API in eine CSV-Datei?
Rufen Sie workbook.ToStream(FileFormat.CSV) auf und geben Sie ihn mit dem Inhaltstyp text/csv zurück, wie oben gezeigt. Bei Arbeitsmappen mit mehreren Blättern kann jedes Blatt unabhängig exportiert werden, indem workbook.WorkSheets[index] aufgerufen und .ToStream(FileFormat.CSV) auf dem Blattobjekt aufgerufen wird. Die Dokumentation zum CSV-Export behandelt den Umgang mit Trennzeichen, Kodierung und Datumsformatoptionen.
Wie wendet man bedingte Formatierung und Datenbalken an?
Über die grundlegenden Zellstile hinaus unterstützt IronXL bedingte Formatierungsregeln – Zellen oberhalb eines Schwellenwerts werden grün hervorgehoben, negative Werte rot markiert oder Farbverlaufsbalken angewendet, um Trends direkt in der Tabelle sichtbar zu machen, ohne dass eine Nachbearbeitung in einem separaten Tool erforderlich ist.
Die bedingte Formatierung ist besonders wertvoll in Finanz-Dashboards und KPI-Berichten, wo Leser Ausreißer auf einen Blick erkennen müssen. Anstatt darauf angewiesen zu sein, dass der Empfänger nach dem Herunterladen seine eigene Formatierung vornimmt, sind die Regeln in die XLSX-Datei eingebettet und werden automatisch ausgewertet, wenn die Datei in einer beliebigen Version von Microsoft Excel oder einem kompatiblen Viewer geöffnet wird.
Die bedingte Formatierung wird über die Eigenschaft ConditionalFormatting des Arbeitsblatts festgelegt. Die Regeln werden auf einen benannten Zellbereich angewendet und unterstützen verschiedene Bedingungstypen: Zellwertvergleiche, formelbasierte Regeln, Farbskalen, die Werte von niedrig nach hoch einstufen, und Datenbalken-Overlays, die wie Balkendiagramme in Zellen funktionieren. Die Open XML-Spezifikation definiert die zugrunde liegende Regelstruktur, die IronXL in die XLSX-Datei schreibt.
Eine vollständige Anleitung zum Anwenden von Farbskalen, Symbolsätzen und Datenbalken finden Sie im Tutorial zur bedingten Formatierung in der IronXL Dokumentation.
Wie schützt man Excel-Dateien und -Arbeitsblätter?
Die Verteilung von Berichten, die sensible Daten enthalten, erfordert eine Zugriffskontrolle. IronXL unterstützt sowohl Passwortschutz auf Arbeitsmappenebene als auch auf Arbeitsblattebene:
- Workbook password: Setzen Sie
workbook.Password = "secret"vor dem Aufruf von.SaveAs(), um die XLSX-Datei zu verschlüsseln. Die Empfänger müssen das Passwort eingeben, um die Datei in Excel zu öffnen. - Arbeitsblattschutz: Rufen Sie
worksheet.ProtectSheet("password")auf, um die Bearbeitung von Zellen zu sperren, während das Blatt weiterhin angezeigt werden kann. Bestimmte Bereiche können für die Dateneingabe über dieAllowEditRangeAPI freigeschaltet werden. - Schreibgeschützte Verteilung : Für Dokumente, die niemals bearbeitet werden sollen, kombinieren Sie den Tabellenblattschutz mit der Dateiverschlüsselung.
Passwortgeschützte XLSX-Dateien verwenden standardmäßig die AES-128-Verschlüsselung, denselben Standard, der auch in nativen Excel-Dateien verwendet wird. Das bedeutet, dass eine mit IronXL geschützte Datei vollständig mit der in Excel integrierten Funktion zum Öffnen von Dateien kompatibel ist – auf Empfängerseite ist kein spezieller Viewer erforderlich.
Diese Sicherheitsfunktionen ergänzen das Standard-Sicherheitsmodell von .NET Core und sind besonders nützlich beim Erstellen von Endpunkten für Finanz- oder Personalberichterstattung. Die Dokumentation zum Dateischutz enthält die vollständige API-Referenz.
Wie arbeitet man mit Excel-Formeln in .NET?
Die in IronXL integrierte Berechnungs-Engine wertet Standard-Excel-Formeln zur Laufzeit aus, so dass die API berechnete Werte zurückgeben kann, ohne dass diese auf der Festplatte gespeichert und in Excel neu geöffnet werden müssen. Weisen Sie der Eigenschaft .Formula einer beliebigen Zelle eine Formelzeichenfolge zu:
// Sum a column and place the result in a footer row
worksheet[$"B{lastRow}"].Formula = $"=SUM(B2:B{lastRow - 1})";
// Calculate an average across a range
worksheet[$"C{lastRow}"].Formula = $"=AVERAGE(C2:C{lastRow - 1})";
// Retrieve the computed value immediately
decimal total = worksheet[$"B{lastRow}"].DecimalValue;
// Sum a column and place the result in a footer row
worksheet[$"B{lastRow}"].Formula = $"=SUM(B2:B{lastRow - 1})";
// Calculate an average across a range
worksheet[$"C{lastRow}"].Formula = $"=AVERAGE(C2:C{lastRow - 1})";
// Retrieve the computed value immediately
decimal total = worksheet[$"B{lastRow}"].DecimalValue;
' Sum a column and place the result in a footer row
worksheet($"B{lastRow}").Formula = $"=SUM(B2:B{lastRow - 1})"
' Calculate an average across a range
worksheet($"C{lastRow}").Formula = $"=AVERAGE(C2:C{lastRow - 1})"
' Retrieve the computed value immediately
Dim total As Decimal = worksheet($"B{lastRow}").DecimalValue
IronXL unterstützt die meisten Standardfunktionen von Excel, einschließlich mathematischer, statistischer, Text-, Datums- und Nachschlagekategorien. Für fortgeschrittene Szenarien werden auch Array-Formeln (Ctrl+Shift+Enter Semantik) unterstützt. Da die Formelauswertung innerhalb des .NET Prozesses erfolgt, entfällt der Roundtrip zu einem externen Berechnungsdienst – die Ergebnisse stehen unmittelbar nach der Zuweisung der Formel zur Verfügung, wodurch die API-Antwortzeiten auch bei Berechnungen über Tausende von Zeilen vorhersehbar bleiben. Die Formelunterstützungsreferenz listet alle unterstützten Funktionen auf.
Was sind Ihre nächsten Schritte?
Die Entwicklung einer Excel-API mit IronXL bietet .NET Core Anwendungen solide Möglichkeiten zur Arbeit mit Tabellenkalkulationen. Von der Erstellung von XLSX-Dateien mit formatierten Daten und berechneten Formeln bis hin zum Importieren von Benutzer-Uploads und dem Exportieren von Daten in verschiedenen Formaten – IronXL deckt alle Aspekte der programmatischen Tabellenkalkulationsbearbeitung plattformübergreifend und ohne Office-Anwendungen ab.
Nutzen Sie diese Ressourcen, um weitere Informationen zu erhalten:
- IronXL -Produktseite – Funktionsübersicht und Kurzanleitung
- IronXL Dokumentation – vollständige API-Referenz und Anleitungen
- Excel-Dateien in C# erstellen – detailliertes Tutorial zur Erstellung von Arbeitsmappen und Arbeitsblättern
- Excel-Dateien in C# lesen – Daten laden, analysieren und extrahieren
- Excel-Export nach CSV -- CSV-Export mit Kodierungs- und Trennzeichenoptionen
- API zur Zellformatierung – Schriftarten, Farben, Rahmen und Zahlenformate
- Bedingte Formatierung – Regeln, Datenbalken, Farbskalen
- Formelunterstützung – Referenz zu unterstützten Excel-Funktionen
- Dateischutz -- APIs für Arbeitsmappen- und Arbeitsblattpasswörter
- NuGet Paket – aktuelle Version und Versionsverlauf
Starten Sie eine kostenlose Testphase , um IronXL in einem Live-Projekt zu testen, oder prüfen Sie die Lizenzoptionen, um den richtigen Plan für den Produktionseinsatz zu finden.
Häufig gestellte Fragen
Was ist IronXL?
IronXL ist eine .NET Excel-Bibliothek, mit der Entwickler Excel-Dateien programmatisch in C# erstellen, lesen und exportieren können, ohne dass Microsoft Office oder COM-Interop erforderlich ist.
Wie erstellt man eine Excel-Datei in .NET Core ohne Office?
Rufen Sie WorkBook.Create(ExcelFileFormat.XLSX) auf, um eine neue Arbeitsmappe zu erstellen, fügen Sie mit CreateWorkSheet() Tabellenblätter hinzu, füllen Sie Zellen mit der Syntax worksheet['A1'].Value und streamen Sie das Ergebnis mit workbook.ToStream().
Wie liest man eine hochgeladene Excel-Datei in ASP.NET Core?
Übergeben Sie den IFormFile-Stream an WorkBook.Load(stream), greifen Sie auf das DefaultWorkSheet zu und iterieren Sie mit worksheet.RowCount über die Zeilen. Typisierte Zugriffsmethoden wie DecimalValue und DateTimeValue extrahieren stark typisierte Daten aus jeder Zelle.
Kann IronXL Excel-Daten in die Formate CSV oder JSON exportieren?
Ja. Rufen Sie workbook.ToStream(FileFormat.CSV) für eine CSV-Ausgabe oder workbook.ToJson() für eine JSON-Darstellung der Arbeitsmappendaten auf.
Läuft IronXL unter Linux und macOS?
Ja. IronXL ist für .NET Standard 2.0 und höher ausgelegt und läuft unter Windows, Linux und macOS ohne Installation von Microsoft Office oder einer COM-Schicht.
Wie kann man eine Excel-Datei mit IronXL mit einem Passwort schützen?
Setzen Sie `workbook.Password` auf einen String, bevor Sie `SaveAs()` aufrufen. Um ein Arbeitsblatt auf Tabellenblattebene zu schützen, rufen Sie `worksheet.ProtectSheet('password')` auf, um die Bearbeitung von Zellen zu verhindern, während das Lesen des Blattes weiterhin möglich ist.




