Zum Fußzeileninhalt springen
IRONXL VERWENDEN

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
$vbLabelText   $csharpLabel

Ausgabedatei im Excel-Format

Build an Excel API for .NET Core: XLSX-Dateien erstellen, lesen und exportieren: Bild 1 - von der .NET Core API generierte Excel-Datei

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
$vbLabelText   $csharpLabel

Ausgabe

Build an Excel API for .NET Core: XLSX-Dateien erstellen, lesen und exportieren: Bild 2 - Ausgabe mit erfolgreich importierten Excel-Daten

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
$vbLabelText   $csharpLabel

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 die AllowEditRange API 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
$vbLabelText   $csharpLabel

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:

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.

Jordi Bardia
Software Ingenieur
Jordi ist am besten in Python, C# und C++ versiert. Wenn er nicht bei Iron Software seine Fähigkeiten einsetzt, programmiert er Spiele. Mit Verantwortung für Produkttests, Produktentwicklung und -forschung trägt Jordi mit immensem Wert zur kontinuierlichen Produktverbesserung bei. Die abwechslungsreiche Erfahrung hält ihn gefordert und engagiert, ...
Weiterlesen

Iron Support Team

Wir sind 24 Stunden am Tag, 5 Tage die Woche online.
Chat
E-Mail
Rufen Sie mich an