IRONXL VERWENDEN

Wie man eine Excel-Datei auf Razor Pages generiert

Jordi Bardia
Jordi Bardia
14. November 2022
Aktualisiert 29. Januar 2024
Teilen Sie:

Einführung

Razor Pages sind eine neue Art, Webseiten zu erstellen. Mit Razor Pages wird der Quellcode, der die Webseite rendert, in C# erstellt, anstatt von einer serverseitigen Seite generiert zu werden.

Um effizient mit Excel-Dateien zu arbeiten, wird die IronXL-Bibliothek gegenüber anderen Bibliotheken wie dem POI-Java-Projekt NPOI-Paket (welches auch mit PowerPoint-Dateien verwendet werden kann) und Office Interop empfohlen. Sie bietet eine funktionsreiche Bibliothek, die einfach und benutzerfreundlich ist und kein Microsoft Office benötigt. Diese Bibliothek sollte auch mehrere Versionen von .NET unterstützen.

Dieser Artikel zeigt, wie die IronXL C#-Bibliothek verwendet wird, um Excel-Tabellen mit Dummy-Daten und Zeilenüberschriften in Razor Pages (Page-Modell) zu generieren und zu exportieren.

IronXL: C# Excel-Bibliothek

IronXL ist eine C#-Excel-Bibliothek, die Methoden und Funktionen für die Arbeit mit großen Datensätzen bereitstellt. Sie nutzt die Parallelverarbeitung, um mehr Rechenleistung zu erhalten. Es ist für Programmierer einfach zu bedienen, da es keine Kenntnisse darüber erfordert, wie der Prozess hinter den Kulissen funktioniert. Es unterstützt sowohl XLS- als auch XLSX-Dateien.

IronXL unterstützt auch das Importieren und Exportieren von Excel-Dateien sowie das Erstellen von Excel-Formeln und Office-Dokumenten. Es ist die perfekte Lösung für alle, die Microsoft Office nicht auf ihren Rechnern installieren möchten.

Sehen wir uns an, wie man mit IronXL Excel-Dateien in Razor Pages importiert und exportiert.

Excel-Datei in Razor Pages generieren

Um Excel-Blätter in Razor Pages zu erstellen, öffnen Sie Visual Studio, erstellen Sie eine ASP.NET Core Webanwendung und installieren Sie IronXL.

Voraussetzungen

Um Excel-Dateien in Razor Pages zu erstellen, müssen einige Voraussetzungen erfüllt sein:

  1. Visual Studio (neueste Version)

  2. .NET-Framework 6 oder 7

  3. .NET Core-Webanwendung in Visual Studio

IronXL-Bibliothek installieren

Sie können es über die NuGet Package Manager Console installieren. Öffnen Sie die Konsole und geben Sie den folgenden Befehl ein, um die IronXL-Bibliothek in einer .NET Core-Webanwendung zu installieren.

Install-Package IronXL.Excel

Code zum Erzeugen einer Excel-Datei

Jetzt ist es an der Zeit, Code zu schreiben. Öffnen Sie die Datei "Index.cs" aus dem Ordner Pages und fügen Sie die folgende Methode hinzu:

public FileResult OnPostExport()
{
    WorkBook workBook = new WorkBook(IronXL.ExcelFileFormat.XLSX);
    WorkSheet workSheet = workBook.CreateWorkSheet("data");

    //Add data and styles to the new worksheet

    workSheet ["A1"].Value = "Product EN";
    workSheet ["B1"].Value = "SKU";
    workSheet ["C1"].Value = "Customer";

    workSheet ["A1:C1"].Style.Font.Bold = true;

    workSheet ["A2"].Value = "Iron Rods";
    workSheet ["A3"].Value = "Mobile Phones";
    workSheet ["A4"].Value = "Chargers";

    workSheet ["B2"].Value = "105";
    workSheet ["B3"].Value = "285";
    workSheet ["B4"].Value = "301";

    workSheet ["C2"].Value = "Adam";
    workSheet ["C3"].Value = "Ellen";
    workSheet ["C4"].Value = "Tom";

    return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Grid.xlsx");
}
public FileResult OnPostExport()
{
    WorkBook workBook = new WorkBook(IronXL.ExcelFileFormat.XLSX);
    WorkSheet workSheet = workBook.CreateWorkSheet("data");

    //Add data and styles to the new worksheet

    workSheet ["A1"].Value = "Product EN";
    workSheet ["B1"].Value = "SKU";
    workSheet ["C1"].Value = "Customer";

    workSheet ["A1:C1"].Style.Font.Bold = true;

    workSheet ["A2"].Value = "Iron Rods";
    workSheet ["A3"].Value = "Mobile Phones";
    workSheet ["A4"].Value = "Chargers";

    workSheet ["B2"].Value = "105";
    workSheet ["B3"].Value = "285";
    workSheet ["B4"].Value = "301";

    workSheet ["C2"].Value = "Adam";
    workSheet ["C3"].Value = "Ellen";
    workSheet ["C4"].Value = "Tom";

    return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Grid.xlsx");
}
Public Function OnPostExport() As FileResult
	Dim workBook As New WorkBook(IronXL.ExcelFileFormat.XLSX)
	Dim workSheet As WorkSheet = workBook.CreateWorkSheet("data")

	'Add data and styles to the new worksheet

	workSheet ("A1").Value = "Product EN"
	workSheet ("B1").Value = "SKU"
	workSheet ("C1").Value = "Customer"

	workSheet ("A1:C1").Style.Font.Bold = True

	workSheet ("A2").Value = "Iron Rods"
	workSheet ("A3").Value = "Mobile Phones"
	workSheet ("A4").Value = "Chargers"

	workSheet ("B2").Value = "105"
	workSheet ("B3").Value = "285"
	workSheet ("B4").Value = "301"

	workSheet ("C2").Value = "Adam"
	workSheet ("C3").Value = "Ellen"
	workSheet ("C4").Value = "Tom"

	Return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Grid.xlsx")
End Function
$vbLabelText   $csharpLabel

Im obigen Code wird ein neues Excel-WorkBook erstellt, das ein WorkSheet enthält. Danach wird das Blatt mit Dummy-Daten gefüllt und gibt die erzeugte Datei in einer Serverantwort mit den folgenden Parametern zurück:

  • Konvertieren Sie das WorkBook in Stream (da es wichtig ist, die Datei in einen Stream zu konvertieren, bevor sie heruntergeladen wird).
  • Festlegen des Datentyps
  • Geben Sie den Namen der heruntergeladenen Datei an.

Erstellen Sie eine Schaltfläche zum Herunterladen der Excel-Datei

Ersetzen Sie den vorhandenen Code in "Index.cshtml" durch den folgenden Code:

@page
@model IndexModel
@{
    ViewData ["Title"] = "Home page";
}

<div class="text-center">
    <h1 class="display-4">IronXL Generate Excel File</h1>
    <p class="m-5">IronXL is an Excel Library for C# and allows developers to read and edit Excel data from XLS and XLSX documents without using Microsoft.Office.Interop.Excel</p>
    <form method="post" asp-page-handler="Export">
        <button class="btn btn-success p-3">Generate Excel File!</button>
    </form>
</div>
@page
@model IndexModel
@{
    ViewData ["Title"] = "Home page";
}

<div class="text-center">
    <h1 class="display-4">IronXL Generate Excel File</h1>
    <p class="m-5">IronXL is an Excel Library for C# and allows developers to read and edit Excel data from XLS and XLSX documents without using Microsoft.Office.Interop.Excel</p>
    <form method="post" asp-page-handler="Export">
        <button class="btn btn-success p-3">Generate Excel File!</button>
    </form>
</div>
HTML

Erstellen Sie im obigen HTML-Code ein Formular-Tag, bei dem die Eigenschaft "asp-page-handler" auf "Export" gesetzt ist. Dies ermöglicht der Anwendung, eine Excel-Datei auf den lokalen Rechner zu exportieren. Zusätzlich erstellen Sie eine Schaltfläche mit dem Text "Excel-Datei erstellen!". Wenn der Benutzer auf diese Schaltfläche klickt, wird der Browser veranlasst, die generierte Excel-Datei herunterzuladen.

Das Projekt ausführen

Führen Sie nun das Projekt aus und Sie werden den folgenden Bildschirm im Browser sehen. Klicken Sie auf die grüne Schaltfläche, um die Excel-Datei herunterzuladen.

So erstellen Sie eine Excel-Datei auf Razor Pages. Abbildung 1: IronXL erzeugt Excel-Blätter

IronXL Excel-Tabellen erstellen

Sie werden die heruntergeladene Datei unten sehen, wenn Sie auf die Schaltfläche „Generate Excel File!“ klicken.

Wie man eine Excel-Datei auf Razor Pages erzeugt, Abbildung 2: IronXL heruntergeladene Datei

IronXL heruntergeladene Datei

Öffnen Sie die generierte Excel-Datei

Der Inhalt der generierten Excel-Datei stimmt mit den Angaben im Code überein und ist perfekt formatiert. Unten sehen Sie einen Schnappschuss der generierten Excel-Datei.

Wie man eine Excel-Datei mit Razor Pages erstellt, Abbildung 3: Von IronXL erstellte Datei

Von IronXL generierte Datei

IronXL besser als die Mitbewerber

Die IronXL-Bibliothek ist ein leistungsfähigeres Tool für die Arbeit mit Excel, das sowohl XLS als auch XLSX unterstützt und nicht die Einschränkungen von NPOI aufweist. NPOI läuft im Vergleich zu IronXL viel langsamer, da es in Java statt in C# geschrieben ist. Daher sollten Sie IronXL anstelle von POI verwenden, wenn Sie in ASP.NET Core-Anwendungen große/mehrere Tabellenkalkulationen erstellen möchten.

IronXL ist eine großartige Bibliothek zum Erstellen und Bearbeiten von Excel-Dateien, ohne Microsoft Office zu verwenden. Im Gegensatz zu Microsoft Interop muss IronXL nicht das ActiveX von Microsoft Excel im Hintergrund aufrufen, um Excel-Operationen durchzuführen und nach Excel zu exportieren. IronXL kann ohne die Microsoft Office Suite arbeiten. IronXL kann auch CSV-Dateien in das Excel-Format exportieren.

Darüber hinaus bietet IronXL auch eine breite Palette von Funktionen zur Interaktion mit Excel-Dateien, einschließlich Umwandlung zwischen gängigen Formaten, Einfügen von mathematischen Funktionen und sogar das Hinzufügen von Diagrammen und Einfügen von Bildern.

Schlussfolgerung

In diesem Artikel wurde gezeigt, wie IronXL verwendet werden kann, um eine Excel-Datei in Razor Pages zu erzeugen, ohne dass Microsoft Excel ActiveX aufgerufen und die Datei heruntergeladen werden muss.

Besuchen Sie den folgenden Link für mehr Tutorials zum Erstellen von Excel-Dateien.

IronXL kann für nicht-kommerzielle Entwicklungszwecke kostenlos genutzt werden. Eine kostenlose Testversion ist für Tests in der Produktion verfügbar. Schauen Sie sich die Preispläne an, um mehr Details über Preise und Lizenzen zu erhalten.

Jordi Bardia
Software-Ingenieur
Jordi beherrscht vor allem Python, C# und C++. Wenn er seine Fähigkeiten bei Iron Software nicht einsetzt, programmiert er Spiele. Durch seine Mitverantwortung für Produkttests, Produktentwicklung und Forschung trägt Jordi wesentlich zur kontinuierlichen Produktverbesserung bei. Die vielseitigen Erfahrungen, die er sammelt, bieten ihm immer wieder neue Herausforderungen, und er sagt, dass dies einer seiner Lieblingsaspekte bei Iron Software ist. Jordi wuchs in Miami, Florida, auf und studierte Informatik und Statistik an der University of Florida.
< PREVIOUS
Wie man in Blazor mit IronXL Daten nach Excel exportiert
NÄCHSTES >
Wie man einen CSV-Parser in C# verwendet

Sind Sie bereit, loszulegen? Version: 2025.3 gerade veröffentlicht

Lizenzen anzeigen >