IRONXL VERWENDEN

Wie man eine Excel-Datei auf Razor Pages generiert

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 empfohlen (das auch mit PowerPoint-Dateien verwendet werden kann) und Office Interop. Sie bietet eine funktionsreiche Bibliothek, die einfach und benutzerfreundlich ist und kein Microsoft Office voraussetzt. Diese Bibliothek sollte auch mehrere Versionen von .NET unterstützen.

Dieser Artikel zeigt, wie man mit der IronXL C#-Bibliothek Excel-Tabellen mit Dummy-Daten und Zeilenköpfen in Razor Pages erzeugt und exportiert (Seitenmodell).

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
VB   C#

In dem obigen Code wird eine neue Excel arbeitsbuch wird erstellt und enthält eine arbeitsblatt. Danach wird das Blatt mit Dummy-Daten gefüllt und gibt die erzeugte Datei in einer Serverantwort mit den folgenden Parametern zurück:

  • Umwandlung des "WorkBook" in einen "Stream (weil es wichtig ist, die Datei vor dem Herunterladen in einen Stream zu konvertieren).
  • 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. Dadurch kann die Anwendung eine Excel-Datei auf den lokalen Rechner exportieren. Erstellen Sie außerdem eine Schaltfläche mit dem Text "Excel-Datei generieren!". 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.

Wie man eine Excel-Datei auf Razor Pages generiert, Abbildung 1: IronXL generiert Excel-Tabellen

**IronXL - Excel-Tabellen erstellen

Die heruntergeladene Datei wird unten angezeigt, wenn Sie auf die Schaltfläche "Excel-Datei generieren" 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 auf Razor Pages generiert, Abbildung 3: IronXL generierte Datei

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 wählen, wenn Sie große/mehrere Tabellenblätter in ASP.NET Kernanwendungen.

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 eine breite Palette von Funktionen zur Interaktion mit Excel-Dateien, darunter konvertierung zwischen gängigen Formaten, einfügen von mathematischen Funktionenund 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 weitere Informationen tutorials zur Erstellung von Excel-Dateien.

IronXL kann für nicht-kommerzielle Entwicklungszwecke kostenlos genutzt werden. A kostenloser Test ist für Tests in der Produktion verfügbar. Sehen Sie sich die preispläne für weitere Informationen über Preise und Lizenzierung.

< 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: 2024.10 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 1,068,832 Lizenzen anzeigen >