IRONXL VERWENDEN

Wie man Excel-Dateien in ASP .NET Core öffnet

Aktualisiert 23. August 2024
Teilen Sie:

In diesem Tutorial wird gezeigt, wie man mit IronXL eine Excel-Datei in einer ASP.NET Core-Anwendung mit der IronXL-Bibliothek öffnet. Es werden die grundlegenden Schritte zum Lesen von Excel-Dateien sowie zum Anzeigen der Daten und zum Speichern der geänderten Daten zurück in die 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 die Möglichkeit, Excel-Dateien mit nur wenigen Zeilen Code zu schreiben, zu bearbeiten und zu lesen. Für ein ausführliches Tutorial zum Lesen von Excel-Dateien, siehe bitte dieses. Excel-Tutorial.

IronXL-Bibliothek kann Lesen und Schreiben von Excel-Dokumenten, daten extrahieren von ihnen, die Daten manipulieren und sogar neue Excel-Dateien von Grund auf neu erstellen. IronXL unterstützt nicht nur das .XLS-Format, sondern auch kompatibel mit .XLSX, das ein XML-basiertes Dateiformat ist, das von Microsoft zur Darstellung von Tabellenkalkulationen entwickelt wurde.

Voraussetzungen

Bevor Sie in den Code eintauchen, stellen Sie sicher, dass Sie Folgendes haben:

  1. .NET Core 3.1 oder höher installiert.

  2. Eine geeignete IDE für die .NET-Entwicklung (Microsoft Visual Studio wird empfohlen).

  3. Grundlegendes Verständnis von ASP.NET Core und Razor Pages.

Ein neues .NET Core Projekt erstellen

  1. Öffnen Sie Microsoft Visual Studio und wählen Sie "Ein neues Projekt erstellen".

  2. Wählen Sie "ASP.NET Core Web App" aus der Liste der Projektvorlagen und klicken Sie auf "Weiter".

  3. Geben Sie einen Namen für Ihr Projekt ein, z. B. "Open_Excel_File_.NET_Core", wählen Sie einen Speicherort und klicken Sie auf "Weiter".

  4. Wählen Sie ".NET Core" als Ziel-Framework 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:

  1. Klicken Sie mit der rechten Maustaste auf das Projekt im Projektmappen-Explorer und wählen Sie "NuGet-Pakete verwalten".

  2. Suchen Sie auf der Registerkarte "Durchsuchen" nach "IronXL" und klicken Sie auf "Installieren" für das Paket IronXL.Excel.

    So öffnen Sie eine Excel-Datei in ASP .NET Core, Abbildung 1: Suchen und installieren Sie das IronXL-Paket in der NuGet-Paketmanager-Benutzeroberfläche

     **Das IronXL-Paket in der NuGet Package Manager UI suchen und installieren**
  3. Warten Sie, bis das Paket installiert ist.

    Ihr ASP.NET Core-Projekt ist nun eingerichtet, und die IronXL-Bibliothek ist installiert und einsatzbereit.

Eine Razor-Seite erstellen

Nun erstellen wir eine Razor Page, um den Code zum Öffnen der Excel-Datei zu schreiben.

  1. Klicken Sie mit der rechten Maustaste auf den Ordner "Seiten" im Projektmappen-Explorer und wählen Sie "Hinzufügen" > "Razor-Seite".

  2. Geben Sie als Seitennamen "ExcelOpener" ein und klicken Sie auf "Hinzufügen".

    Wie man eine Excel-Datei in ASP .NET Core öffnet, Abbildung 2: Erstellen Sie eine neue Razer-Seite.

    Neue Razer-Seite erstellen

    Dadurch 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

Schauen wir uns den Code an. Die mitgelieferte Klasse ExcelOpenerModel ist ein Razor Page Model. Diese Klasse hat eine Liste<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 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 Sub
VB   C#

In der Methode OnGet wird IronXL verwendet, um eine Excel-Datei zu laden und die Daten aus dem Standard-Arbeitsblatt zu lesen. (das erste Blatt der Arbeitsmappe). Jede Zeile wird als "Liste" dargestelltund alle diese Listen werden dann der Eigenschaft "Daten" 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 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);
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Wichtige Methoden erklärt

  • WorkBook.Load(dateipfad): Diese Methode lädt das Excel-Dokument aus dem angegebenen Dateipfad. Es hilft beim Laden und Lesen der Excel-Tabelle.
  • Workbook.DefaultWorkSheet: Diese Eigenschaft ruft das Standard (erste) Excel-Arbeitsblatt im Excel-Arbeitsblatt.
  • Sheet.GetCellAt(i, j).Value.ToString()`: Ermittelt die Zelle an den angegebenen Zeilen- und Spaltenindizes und wandelt ihren Wert in eine Zeichenfolge um. Dies ist ein Beispiel für eine Indexmethode, die auf bestimmte Zellen oder Bereiche innerhalb einer Excel-Datei basierend auf Zeilen- und Spaltenindizes zugreifen kann.

Kurze Erläuterung

In der Datei ExcelOpener.cshtml.cs repräsentiert eine Klasse namens ExcelOpenerModel das Razor Page-Modell. Sie enthält eine Eigenschaft namens "Data" vom Typ "List"<List>`, die die Daten aus der Excel-Datei enthält.

Die Methode "OnGet" wird aufgerufen, wenn die Seite angefordert wird, und ist für das Lesen der Daten aus der Excel-Datei verantwortlich. Sie verwendet IronXL, um die Excel-Datei zu laden, wählt das Standardarbeitsblatt aus und durchläuft die Zeilen und Spalten, um die Eigenschaft "Data" zu füllen.

Schreiben von Excel-Dateien

Die Methode OnPost in der Klasse ExcelOpenerModel dient zum Speichern von Änderungen in der Excel-Datei. Sie lädt zunächst die Excel-Datei und ruft das Standardarbeitsblatt ab. Anschließend schreibt es die Werte aus "Daten" in die Zellen des Arbeitsblatts 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 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 Sub
VB   C#

Erläuterung der wichtigsten Methoden

  • Sheet.SetCellValue(i, j, Daten[i][j])`: Diese Methode setzt den Wert der Zelle an den angegebenen Zeilen- und Spaltenindizes.
  • Workbook.SaveAs(dateipfad)`: Diese Methode speichert die Excel-Arbeitsmappe unter dem angegebenen Dateipfad.

Kurze Erläuterung

Die Methode "OnPost" wird aufgerufen, wenn das Formular übermittelt wird, und 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 Zellwerte auf der Grundlage der geänderten Daten aus dem Formular.

HTML-Formular zur 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. Wenn Sie nach der Bearbeitung auf die Schaltfläche "Speichern" klicken, wird das Formular übermittelt, die Methode "OnPost" ausgelöst und die Änderungen in der Excel-Datei gespeichert.

@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>
@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>
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Zur Seite navigieren

In _Layout.cshtml wird ein Link zur Seite im Navigationsmenü 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>
<li class="nav-item">
    <a class="nav-link text-dark" asp-area="" asp-page="/ExcelOpener">ExcelOpener</a>
</li>
HTML

Ausführen der Anwendung und Erläuterung der Ausgabe

Bauen Sie die Anwendung, indem Sie auf die Schaltfläche "Build" in Visual Studio klicken oder die Tastenkombination Ctrl + Shift + B 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 läuft, navigieren Sie zur Seite "ExcelOpener", indem Sie auf den entsprechenden Link in der Navigationsleiste klicken. Auf der Seite werden die Daten aus Excel in einem Tabellenformat angezeigt.

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.

Wie man eine Excel-Datei in ASP .NET Core öffnet. Abbildung 3: Excel-Daten in der Webanwendung anzeigen.

Excel-Daten in der Webanwendung anzeigen

Dieses Tutorial zeigte, wie man eine Excel-Datei mit IronXL in einer ASP.NET Core-Anwendung öffnet. IronXL bietet eine einfache und bequeme Möglichkeit zum Lesen und Bearbeiten von Excel-Dateien. In der IronXL-Dokumentation finden Sie weitere fortgeschrittene Merkmale und Funktionen.

IronXL bietet eine kostenloser Testso dass Sie seine Fähigkeiten beurteilen können. Wenn Sie es für Ihre Projekte nützlich finden, können Sie eine Lizenz ab $749 erwerben.

< PREVIOUS
Wie man mit Excel-Dateien mithilfe von IronXL arbeitet: Eine .NET Excel-Bibliothek
NÄCHSTES >
Zellen in Excel zusammenführen, ohne Daten zu verlieren

Sind Sie bereit, loszulegen? Version: 2024.10 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 1,068,832 Lizenzen anzeigen >