Read Excel Files in ASP.NET MVC Using IronXL
Dieses Tutorial leitet Entwickler an, Excel-Dateiparsing in ASP.NET MVC-Apps mithilfe von IronXL zu implementieren.
Schnellstart: Excel-Blatt in DataTable in MVC laden und konvertieren
Dieses Beispiel zeigt, wie man in Sekunden loslegt: Laden Sie ein Excel-Arbeitsbuch, wählen Sie dessen erstes Arbeitsblatt aus und konvertieren Sie es mit IronXL – kein Interop, kein Aufwand – in ein System.Data.DataTable.
Get started making PDFs with NuGet now:
Install IronXL with NuGet Package Manager
Copy and run this code snippet.
var dataTable = IronXL.WorkBook.Load("CustomerData.xlsx").DefaultWorkSheet.ToDataTable(true);Deploy to test on your live environment
Minimaler Workflow (5 Schritte)
- Installieren Sie die C#-Bibliothek, um Excel-Dateien in ASP.NET zu lesen
- Laden und greifen Sie auf das gewünschte Blatt in der Excel-Datei zu
- Greifen Sie auf die
ToDataTable-Methode zu und geben Sie sie anViewzurück - Zeigen Sie die Excel-Daten auf einer Webseite an, indem Sie eine Schleife verwenden
- Iterieren Sie durch alle Daten und erstellen Sie daraus eine HTML-Tabelle
Erstellen Sie ein ASP.NET-Projekt
Erstellen Sie mit Visual Studio 2022 (oder ähnlichen Produktversionen) ein neues ASP.NET-Projekt. Fügen Sie bei Bedarf zusätzliche NuGet-Pakete und Quellcode für das jeweilige Projekt hinzu.
IronXL-Bibliothek installieren
Nutzen Sie IronXL heute kostenlos in Ihrem Projekt.
Nach der Erstellung des neuen Projekts müssen wir die IronXL-Bibliothek installieren. Führen Sie die folgenden Schritte aus, um die IronXL-Bibliothek zu installieren. Öffnen Sie die NuGet-Pakete-Verwaltungskonsole und führen Sie den folgenden Befehl aus:
Install-Package IronXL.Excel
Excel-Datei lesen
Öffnen Sie den Standard-Controller in Ihrem ASP.NET-Projekt (z. B. HomeController.cs) und ersetzen Sie die Index-Methode durch den folgenden Code:
public ActionResult Index()
{
// Load the Excel workbook from a specified path.
WorkBook workBook = WorkBook.Load(@"C:\Files\Customer Data.xlsx");
// Access the first worksheet from the workbook.
WorkSheet workSheet = workBook.WorkSheets.First();
// Convert the worksheet data to a DataTable object.
var dataTable = workSheet.ToDataTable();
// Send the DataTable to the view for rendering.
return View(dataTable);
}
public ActionResult Index()
{
// Load the Excel workbook from a specified path.
WorkBook workBook = WorkBook.Load(@"C:\Files\Customer Data.xlsx");
// Access the first worksheet from the workbook.
WorkSheet workSheet = workBook.WorkSheets.First();
// Convert the worksheet data to a DataTable object.
var dataTable = workSheet.ToDataTable();
// Send the DataTable to the view for rendering.
return View(dataTable);
}
Public Function Index() As ActionResult
' Load the Excel workbook from a specified path.
Dim workBook As WorkBook = WorkBook.Load("C:\Files\Customer Data.xlsx")
' Access the first worksheet from the workbook.
Dim workSheet As WorkSheet = workBook.WorkSheets.First()
' Convert the worksheet data to a DataTable object.
Dim dataTable = workSheet.ToDataTable()
' Send the DataTable to the view for rendering.
Return View(dataTable)
End Function
In der Index-Aktionsmethode laden wir die Excel-Datei mit der Load-Methode von IronXL. Der Pfad der Excel-Datei (einschließlich des Dateinamens) wird als Parameter für den Methodenaufruf bereitgestellt. Als Nächstes wählen wir das erste Excel-Blatt als Arbeitsblatt aus und laden die darin enthaltenen Daten in ein DataTable-Objekt. Zuletzt wird das DataTable an das Frontend gesendet.
Excel-Daten auf einer Webseite anzeigen
Das nächste Beispiel zeigt, wie das im vorherigen Beispiel zurückgegebene DataTable in einem Webbrowser angezeigt werden kann.
Die aktive Excel-Datei, die in diesem Beispiel verwendet wird, ist unten dargestellt:
Excel-Datei
Öffnen Sie die 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 Index-Methode zurückgegebene DataTable als Modell. Jede Zeile aus der Tabelle wird mit einer @for-Schleife auf der Webseite gedruckt, einschließlich Bootstrap-Formatierung zur Dekoration.
Das Ausführen des Projekts liefert die unten gezeigten Ergebnisse.
Bootstrap-Tabelle
Häufig gestellte Fragen
Wie kann ich Excel-Dateien in ASP.NET MVC ohne Interop lesen?
Sie können Excel-Dateien in ASP.NET MVC ohne Interop lesen, indem Sie die IronXL-Bibliothek verwenden. Installieren Sie zuerst IronXL über NuGet und verwenden Sie dann die WorkBook.Load-Methode, um die Excel-Datei zu laden. Greifen Sie auf das Arbeitsblatt zu und konvertieren Sie es in eine DataTable zur weiteren Verarbeitung.
Welche Schritte sind erforderlich, um Excel-Daten auf einer Webseite mit ASP.NET MVC anzuzeigen?
Um Excel-Daten auf einer Webseite mit ASP.NET MVC anzuzeigen, laden Sie die Excel-Datei mit IronXL, konvertieren Sie sie in eine DataTable und reichen Sie sie an die Ansicht weiter. Verwenden Sie in der Ansicht Razor-Syntax, um über die DataTable zu iterieren und die Daten als HTML-Tabelle zu rendern.
Wie installiere ich die notwendige Bibliothek zur Verarbeitung von Excel-Dateien in einer ASP.NET-Anwendung?
Um Excel-Dateien in einer ASP.NET-Anwendung zu verarbeiten, installieren Sie die IronXL-Bibliothek, indem Sie die NuGet-Paket-Manager-Konsole in Visual Studio öffnen und den Befehl Install-Package IronXL.Excel ausführen.
Was ist der Vorteil der Verwendung von IronXL für Excel-Operationen in ASP.NET MVC?
IronXL vereinfacht Excel-Operationen in ASP.NET MVC durch die Bereitstellung einer benutzerfreundlichen API, die das Lesen, Schreiben und Manipulieren von Excel-Dateien ohne Excel Interop ermöglicht, wodurch die Leistung verbessert und die Komplexität reduziert wird.
Wie kann ich ein Excel-Arbeitsblatt in eine DataTable in ASP.NET MVC konvertieren?
In ASP.NET MVC können Sie nach dem Laden einer Excel-Datei mit IronXL ein Arbeitsblatt mit der ToDataTable-Methode in eine DataTable konvertieren, was eine einfache Datenverwaltung und -manipulation ermöglicht.
Kann IronXL in ASP.NET Core MVC-Anwendungen für die Excel-Verarbeitung verwendet werden?
Ja, IronXL ist mit ASP.NET Core MVC-Anwendungen kompatibel und kann verwendet werden, um Excel-Dateien effizient zu lesen und zu bearbeiten, ohne sich auf Excel Interop zu verlassen.
Welche Codeänderungen sind im Controller erforderlich, um Excel-Dateien zu lesen?
Ändern Sie den Standardcontroller, wie HomeController.cs, indem Sie IronXLs WorkBook.Load verwenden, um das Excel-Arbeitsbuch zu laden, und die Arbeitsblattdaten in eine DataTable zu konvertieren, um sie an die Ansicht zu übergeben.
Wie verbessert IronXL den Prozess des Lesens von Excel-Dateien in ASP.NET?
IronXL verbessert den Prozess des Lesens von Excel-Dateien in ASP.NET durch die Bereitstellung einer unkomplizierten API, die die Notwendigkeit von Excel Interop eliminiert, und ermöglicht so ein nahtloses Lesen, Schreiben und Bearbeiten von Excel-Daten.

