Lesen von Excel-Dateien in ASP.NET MVC mit IronXL
Dieses Tutorial zeigt Entwicklern, wie man mit IronXL das Parsen von Excel-Dateien in ASP.NET MVC-Anwendungen implementiert.
Wie man Excel-Dateien in ASP.NET liest
- C#-Bibliothek zum Lesen von Excel-Dateien in ASP.NET installieren
- Laden und Zugreifen auf das Zielblatt in der Excel-Datei
- Zugang
ToDataTable
methode und kehrt zu ihr zurückSiehe
- Anzeige von Excel-Daten auf einer Webseite mit Hilfe einer Schleife
- Iterieren Sie durch alle Daten und erstellen Sie daraus eine HTML-Tabelle
Ein ASP.NET-Projekt erstellen
Verwendung von Visual Studio 2022(oder ähnliche Produktversionen)erstellen Sie ein neues ASP.NET-Projekt. Fügen Sie je nach Bedarf zusätzliche NuGet-Pakete und Quellcode für das jeweilige Projekt hinzu.
IronXL-Bibliothek installieren
Beginnen Sie noch heute mit der Verwendung von IronXL in Ihrem Projekt mit einer kostenlosen Testversion.
Nach der Erstellung des neuen Projekts müssen wir die IronXL-Bibliothek installieren. Folgen Sie den folgenden Schritten, um die IronXL-Bibliothek zu installieren. Öffnen Sie die NuGet-Paketmanager-Konsole und geben Sie den folgenden Befehl ein:
Install-Package IronXL.Excel
Excel-Datei lesen
Öffnen Sie den Standard-Controller in Ihrem ASP.NET-Projekt(d.h. HomeController) datei und ersetzen Sie die Methode "Index" durch den folgenden Code:
public ActionResult Index()
{
WorkBook workbook = WorkBook.Load(@"C:\Files\Customer Data.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();
var dataTable = sheet.ToDataTable();
return View(dataTable);
}
public ActionResult Index()
{
WorkBook workbook = WorkBook.Load(@"C:\Files\Customer Data.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();
var dataTable = sheet.ToDataTable();
return View(dataTable);
}
Public Function Index() As ActionResult
Dim workbook As WorkBook = WorkBook.Load("C:\Files\Customer Data.xlsx")
Dim sheet As WorkSheet = workbook.WorkSheets.First()
Dim dataTable = sheet.ToDataTable()
Return View(dataTable)
End Function
In der Aktionsmethode Index
laden wir die Excel-Datei mit IronXLs Load
. Der Pfad der Excel-Datei(einschließlich des Dateinamens) wird dem Methodenaufruf als Parameter übergeben. Als Nächstes wählen wir das erste Excel-Blatt als Arbeitsblatt aus und laden die darin enthaltenen Daten in ein Datatable
-Objekt. Zum Schluss wird das "Datatable" an das Frontend gesendet.
Excel-Daten auf einer Webseite anzeigen
Das nächste Beispiel zeigt, wie die im vorherigen Beispiel zurückgegebene Datatable in einem Webbrowser angezeigt werden kann.
Die Excel-Arbeitsdatei, die in diesem Beispiel verwendet wird, ist unten abgebildet:
Excel-Datei
Öffnen Sie die Datei index.cshtml(indexansicht) und ersetzen Sie den Code durch den folgenden HTML-Code.
@{
ViewData ["Title"] = "Home Page";
}
@using System.Data
@model DataTable
<div class="text-center">
<h1 class="display-4">Welcome to IronXL Read Excel MVC</h1>
</div>
<table class="table table-dark">
<tbody>
@foreach (DataRow row in Model.Rows)
{
<tr>
@for (int i = 0; i < Model.Columns.Count; i++)
{
<td>@row [i]</td>
}
</tr>
}
</tbody>
</table>
@{
ViewData ["Title"] = "Home Page";
}
@using System.Data
@model DataTable
<div class="text-center">
<h1 class="display-4">Welcome to IronXL Read Excel MVC</h1>
</div>
<table class="table table-dark">
<tbody>
@foreach (DataRow row in Model.Rows)
{
<tr>
@for (int i = 0; i < Model.Columns.Count; i++)
{
<td>@row [i]</td>
}
</tr>
}
</tbody>
</table>
@
If True Then
ViewData ("Title") = "Home Page"
End If
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: using System.Data model DataTable <div class="text-center"> <h1 class="display-4"> Welcome to IronXL Read Excel MVC</h1> </div> <table class="table table-dark"> <tbody> foreach(DataRow row in Model.Rows)
"display-4"> Welcome [to] IronXL Read Excel MVC</h1> </div> <table class="table table-dark"> (Of tbody) foreach(DataRow row in Model.Rows)
If True Then
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: using System.Data model DataTable <div class="text-center"> <h1 class="display-4"> Welcome to IronXL Read Excel MVC</h1> </div> <table class
"text-center"> <h1 class="display-4"> Welcome [to] IronXL Read Excel MVC</h1> </div> <table class
[using] System.Data model DataTable <div class="text-center"> <h1 class
'INSTANT VB TODO TASK: Local functions are not converted by Instant VB:
' (Of tr) @for(int i = 0; i < Model.Columns.Count; i++)
' {
' <td> @row [i]</td>
' }
</tr>
End If
'INSTANT VB TODO TASK: The following line uses invalid syntax:
' </tbody> </table>
Der obige Code verwendet das von der Methode "Index" zurückgegebene "Datatable" als Modell. Jede Zeile der Tabelle wird auf der Webseite mit Hilfe einer @for
-Schleife gedruckt, einschließlich Bootstrap-Formatierung zur Dekoration.
Wenn Sie das Projekt ausführen, erhalten Sie die unten aufgeführten Ergebnisse.
Bootstrap-Tabelle