Lesen von Excel-Dateien in ASP.NET MVC mit IronXL

This article was translated from English: Does it need improvement?
Translated
View the article in English

Dieses Tutorial zeigt Entwicklern, wie man mit IronXL das Parsen von Excel-Dateien in ASP.NET MVC-Anwendungen implementiert.

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.

Erster Schritt:
green arrow pointer


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

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-Dateien in ASP.NET MVC mit IronXL lesen, Abbildung 1: Excel-Datei

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

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.

Lesen Sie Excel-Dateien in ASP.NET MVC mit IronXL, Abbildung 2: Bootstrap-Tabelle

Bootstrap-Tabelle