
Wie man eine Excel-Datei in ASP.NET Core öffnet
In diesem Tutorial wird gezeigt, wie man eine Excel-Datei mit IronXL in einer ASP.NET Core-Anwendung unter Verwendung der IronXL-Bibliothek öffnet. Es werden die grundlegenden Schritte zum Lesen von Excel-Dateien, zur Anzeige von Daten aus diesen und zum Speichern von geänderten Daten in der Datei behandelt.
Was ist IronXL?
IronXL ist eine .NET-Excel-Bibliothek, die Funktionen für die Arbeit mit Excel-Dokumenten bietet, ohne dass Microsoft Excel oder Office Interop-Abhängigkeiten erforderlich sind. Es unterstützt sowohl .NET Framework als auch .NET Core und bietet Funktionen zum Schreiben, Bearbeiten und Lesen von Excel-Dateien mit nur wenigen Codezeilen. Eine detaillierte Anleitung zum Lesen von Excel-Dateien finden Sie in diesem Excel-Tutorial.
Die IronXL-Bibliothek kann Excel-Dokumente lesen und schreiben, Daten aus ihnen extrahieren, die Daten manipulieren und sogar neue Excel-Dateien von Grund auf erstellen. IronXL unterstützt nicht nur das XLS-Format, sondern ist auch kompatibel mit XLSX, einem XML-basierten Dateiformat, das von Microsoft zur Darstellung von Tabellenkalkulationen entwickelt wurde.
Voraussetzungen
Bevor Sie in den Code eintauchen, stellen Sie sicher, dass Sie Folgendes haben:
- .NET Core 3.1 oder höher muss installiert sein.
- Eine geeignete IDE für die .NET-Entwicklung (Microsoft Visual Studio wird empfohlen).
- Grundlegendes Verständnis von ASP.NET Core und Razor Pages.
Ein neues .NET Core Projekt erstellen
- Öffnen Sie Microsoft Visual Studio und wählen Sie "Ein neues Projekt erstellen".
- Wählen Sie "ASP.NET Core Web App" aus der Liste der Projektvorlagen und klicken Sie auf "Weiter".
- Geben Sie einen Namen für Ihr Projekt an, z. B. "Open_Excel_File_.NET_Core", wählen Sie einen Speicherort und klicken Sie auf "Weiter".
- Wählen Sie ".NET Core" als Zielframework und "ASP.NET Core 3.1 oder höher" als Version. Wählen Sie im Abschnitt "Projektvorlage" die Option "Webanwendung" und klicken Sie auf "Erstellen".
IronXL-Paket installieren
Der nächste Schritt besteht darin, das IronXL-Paket in diesem neu erstellten Projekt zu installieren:
- Klicken Sie mit der rechten Maustaste auf das Projekt im Projektmappen-Explorer und wählen Sie "NuGet-Pakete verwalten".
- Suchen Sie auf der Registerkarte "Durchsuchen" nach "IronXL" und klicken Sie auf "Installieren" für das Paket IronXL.Excel.
Suchen und installieren Sie das IronXL-Paket im NuGet-Paket-Manager-UI
- Warten Sie, bis das Paket installiert ist.
Ihr ASP.NET Core-Projekt ist nun eingerichtet, und die IronXL-Bibliothek ist installiert und einsatzbereit.
Erstellen einer Razor-Seite
Lassen Sie uns nun eine Razor-Seite erstellen, um den Code zum Öffnen der Excel-Datei zu schreiben.
- Klicken Sie mit der rechten Maustaste auf den Ordner "Seiten" im Projektmappen-Explorer und wählen Sie "Hinzufügen" > "Razor-Seite".
- Geben Sie "ExcelOpener" als Seitennamen ein und klicken Sie auf "Hinzufügen".
Eine neue Razor-Seite erstellen
Dabei werden zwei Dateien erstellt: ExcelOpener.cshtml und ExcelOpener.cshtml.cs.
Die Datei ExcelOpener.cshtml enthält das HTML-Markup für die Seite, und die Datei ExcelOpener.cshtml.cs enthält den C#-Code für die Seite.
Lesen von Excel-Dateien
Lassen Sie uns in den Code eintauchen. Die bereitgestellte ExcelOpenerModel Klasse ist ein Razor-Page-Model. Diese Klasse hat eine List<List<string>> Eigenschaft Data, die zum Speichern der aus einer Excel-Datei gelesenen Daten verwendet wird.
public List<List<string>> Data { get; set; }
public ExcelOpenerModel()
{
Data = new List<List<string>>();
}Public Property Data() As List(Of List(Of String))
'INSTANT VB WARNING: The following constructor is declared outside of its associated class:
'ORIGINAL LINE: public ExcelOpenerModel()
Public Sub New()
Data = New List(Of List(Of String))()
End SubIm OnGet-Methode wird IronXL verwendet, um eine Excel-Datei zu laden und die Daten aus dem Standard-Arbeitsblatt (das erste Blatt in der Arbeitsmappe) zu lesen. Jede Zeile wird als List<string> dargestellt, und alle diese Listen werden dann der Data-Eigenschaft hinzugefügt.
public void OnGet()
{
try
{
Data = new List<List<string>>();
// Load your Excel file
var workbook = WorkBook.Load(@"C:\Users\Administrator\Documents\Loan.xlsx");
// Select your Worksheet
WorkSheet sheet = workbook.DefaultWorkSheet;
for (int i = 0; i < sheet.RowCount; i++)
{
var row = new List<string>();
for (int j = 0; j < sheet.ColumnCount; j++)
{
row.Add(sheet.GetCellAt(i, j).Value.ToString());
}
Data.Add(row);
}
}
catch (Exception ex)
{
// Handle exceptions here
Console.WriteLine(ex.Message);
}
}Public Sub OnGet()
Try
Data = New List(Of List(Of String))()
' Load your Excel file
Dim workbook = WorkBook.Load("C:\Users\Administrator\Documents\Loan.xlsx")
' Select your Worksheet
Dim sheet As WorkSheet = workbook.DefaultWorkSheet
For i As Integer = 0 To sheet.RowCount - 1
Dim row = New List(Of String)()
For j As Integer = 0 To sheet.ColumnCount - 1
row.Add(sheet.GetCellAt(i, j).Value.ToString())
Next j
Data.Add(row)
Next i
Catch ex As Exception
' Handle exceptions here
Console.WriteLine(ex.Message)
End Try
End SubSchlüsselmethoden erklärt
WorkBook.Load(filepath): Diese Methode lädt das Excel-Dokument aus dem angegebenen Dateipfad. Es hilft, die Excel-Tabelle zu laden und zu lesen.workbook.DefaultWorkSheet: Diese Eigenschaft ruft das Standard-(erste) Excel-Arbeitsblatt in der Excel-Tabelle ab.sheet.GetCellAt(i, j).Value.ToString(): Dies ruft die Zelle an den angegebenen Zeilen- und Spaltenindizes ab und konvertiert deren Wert in einen String. Dies ist ein Beispiel für eine Indexmethode, die auf der Grundlage von Zeilen- und Spaltenindizes auf bestimmte Zellen oder Bereiche innerhalb einer Excel-Datei zugreifen kann.
Kurzerläuterung
In der ExcelOpener.cshtml.cs-Datei stellt eine Klasse namens ExcelOpenerModel das Razor-Page-Model dar. Es enthält eine Eigenschaft namens Data vom Typ List<List<string>>, die die Daten aus der Excel-Datei speichern wird.
Die OnGet-Methode wird aufgerufen, wenn die Seite angefordert wird und ist verantwortlich für das Lesen der Daten aus der Excel-Datei. Sie verwendet IronXL, um die Excel-Datei zu laden, wählt das Standard-Arbeitsblatt aus und durchläuft die Zeilen und Spalten, um die Data-Eigenschaft zu befüllen.
Schreiben von Excel-Dateien
Die OnPost-Methode in der ExcelOpenerModel-Klasse wird verwendet, um Änderungen in der Excel-Datei zu speichern. Sie lädt zuerst die Excel-Datei und ruft das Standard-Arbeitsblatt ab. Anschließend schreibt sie die Werte von Data in die Zellen im Arbeitsblatt und speichert die Arbeitsmappe in einer neuen Datei.
public void OnPost()
{
try
{
// Load your Excel file
var workbook = WorkBook.Load(@"C:\Users\Administrator\Documents\Loan.xlsx");
// Select your Worksheet
var sheet = workbook.DefaultWorkSheet;
for (int i = 0; i < Data.Count; i++)
{
for (int j = 0; j < Data[i].Count; j++)
{
sheet.SetCellValue(i, j, Data[i][j]);
}
}
// Save the Excel file
var filename = @"C:\ModifiedData.xlsx";
workbook.SaveAs(filename);
}
catch (Exception ex)
{
// Handle exceptions here
Console.WriteLine(ex.Message);
}
}Public Sub OnPost()
Try
' Load your Excel file
Dim workbook = WorkBook.Load("C:\Users\Administrator\Documents\Loan.xlsx")
' Select your Worksheet
Dim sheet = workbook.DefaultWorkSheet
For i As Integer = 0 To Data.Count - 1
Dim j As Integer = 0
Do While j < Data(i).Count
sheet.SetCellValue(i, j, Data(i)(j))
j += 1
Loop
Next i
' Save the Excel file
Dim filename = "C:\ModifiedData.xlsx"
workbook.SaveAs(filename)
Catch ex As Exception
' Handle exceptions here
Console.WriteLine(ex.Message)
End Try
End SubErläuterung der wichtigsten Methoden
sheet.SetCellValue(i, j, Data[i][j]): Diese Methode setzt den Wert der Zelle an den angegebenen Zeilen- und Spaltenindizes.workbook.SaveAs(filepath): Diese Methode speichert die Excel-Arbeitsmappe im angegebenen Dateipfad.
Kurzerläuterung
Die OnPost-Methode wird aufgerufen, wenn das Formular übermittelt wird, und sie speichert die geänderten Daten zurück in die Excel-Datei. Sie lädt die Excel-Datei, wählt das Standard-Arbeitsblatt aus und aktualisiert die Zellenwerte basierend auf den geänderten Daten, die aus dem Formular empfangen wurden.
HTML-Formular für die Bearbeitung von Excel-Daten
In ExcelOpener.cshtml wird ein Formular zur Anzeige und Bearbeitung der Daten aus der Excel-Datei definiert. Jeder Zellwert wird in einem Texteingabefeld angezeigt. Nach dem Bearbeiten wird durch Klicken auf die Schaltfläche 'Speichern' das Formular eingereicht, wodurch die OnPost-Methode ausgelöst wird und die Änderungen in der Excel-Datei gespeichert werden.
@page
@model Open_Excel_File_.NET_Core.Pages.ExcelOpenerModel
<form method="post">
<table class="table table-bordered table-striped">
<!-- Bootstrap classes for tables -->
@for (int i = 0; i < Model.Data.Count; i++)
{
<tr>
@for (int j = 0; j < Model.Data[i].Count; j++)
{
<td>
<input type="text" class="form-control" name="Data[@i][@j]" value="@Model.Data[i][j]" /> <!-- Bootstrap class for form controls -->
</td>
}
</tr>
}
</table>
<input type="submit" class="btn btn-primary" value="Save" /> <!-- Bootstrap classes for buttons -->
</form>
Navigieren zur Seite
In _Layout.cshtml wird dem Navigationsmenü ein Link zu dieser Seite hinzugefügt. Wenn Sie auf diesen Link klicken, gelangen Sie auf die Excel-Öffnerseite.
<li class="nav-item">
<a class="nav-link text-dark" asp-area="" asp-page="/ExcelOpener">ExcelOpener</a>
</li>
Ausführung der Anwendung und Erläuterung der Ausgabe
Bauen Sie die Anwendung, indem Sie auf die Schaltfläche 'Erstellen' in Visual Studio klicken oder die Ctrl + Shift + B-Abkürzung verwenden. Führen Sie die Anwendung aus, indem Sie F5 drücken oder auf die Schaltfläche "Start" in Visual Studio klicken.
Sobald die Anwendung ausgeführt wird, navigieren Sie zur Seite "ExcelOpener", indem Sie auf den entsprechenden Link in der Navigationsleiste klicken. Die Seite wird die Daten aus Excel in einem Tabellenformat anzeigen.
Sie können die Daten in der Tabelle ändern und auf die Schaltfläche "Speichern" klicken, um die Änderungen wieder in der Excel-Datei zu speichern.
Anzeige von Excel-Daten in der Webanwendung
In diesem Tutorial wurde gezeigt, wie man eine Excel-Datei mit IronXL in einer ASP.NET Core-Anwendung öffnet. IronXL bietet eine einfache und bequeme Möglichkeit, Excel-Dateien zu lesen und zu bearbeiten. Die IronXL-Dokumentation enthält weitere Informationen über fortgeschrittene Merkmale und Funktionen.
IronXL bietet eine kostenlose Testversion, mit der Sie dessen Fähigkeiten bewerten können. Wenn Sie es für Ihre Projekte nützlich finden, können Sie ab $999 eine Lizenz erwerben.

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.
Verwandte Artikel



