using IronXL;
using System;
using System.Linq;
// Supported for XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets[0];
// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
// Select a cell and return the converted value
int cellValue = workSheet["A2"].IntValue;
// Read from ranges of cells elegantly.
foreach (var cell in workSheet["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Calculate aggregate values such as Min, Max and Sum
decimal sum = workSheet["A2:A10"].Sum();
// Linq compatible
decimal max = workSheet["A2:A10"].Max(c => c.DecimalValue);
Wie man eine Excel-Datei auf Razor Pages generiert
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.
Verwenden Sie die Dateimethode, um automatisch eine Excel-Datei herunterzuladen, wenn die Schaltfläche gedrückt wird
Prüfen Sie die erzeugte Excel-Datei
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:
Visual Studio (neueste Version)
.NET-Framework 6 oder 7
.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 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.
IronXL Excel-Tabellen erstellen
Sie werden die heruntergeladene Datei unten sehen, wenn Sie auf die Schaltfläche „Generate Excel File!“ klicken.
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.
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.
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.
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 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