Zum Fußzeileninhalt springen
IRONXL VERWENDEN

Wie man zu CSV in Blazor exportiert

Heute tauchen wir in die Nutzung von Blazor und IronXL ein, um eine Excel-Datei in das CSV-Format zu konvertieren. Am Ende dieses Tutorials werden Sie in der Lage sein, eine grundlegende Blazor-Anwendung zu erstellen, die Excel-Daten in verschiedenen Formaten, einschließlich CSV, exportiert.

Einführung in IronXL

IronXL ist eine leistungsstarke .NET Excel-Bibliothek, die dazu entwickelt wurde, mit Excel-Dateien in einer Vielzahl von Formaten zu arbeiten, darunter XLS, XLSX, XLSM, XLTX und CSV. Sie ermöglicht es Entwicklern, Excel-Daten programmatisch zu lesen, zu schreiben und zu manipulieren, ohne dass Microsoft Office oder Excel Interop erforderlich ist.

Mit IronXL können Sie Excel-Arbeitsmappen erstellen, laden und speichern sowie Daten in einzelne Zellen oder Bereiche einlesen und schreiben. Es unterstützt auch erweiterte Funktionen wie Formatierungen, Formeln, Diagramme und Pivot-Tabellen. IronXL ist mit verschiedenen .NET-Frameworks kompatibel und kann mit beliebten Sprachen wie C# und VB.NET verwendet werden.

Schritte zur Konvertierung einer Excel-Datei in CSV

Einrichten Ihres Blazor-Projekts

Um zu beginnen, müssen Sie ein neues Blazor-Server-Projekt erstellen. Öffnen Sie Visual Studio, erstellen Sie ein neues Projekt und wählen Sie die Vorlage "Blazor Server App" aus. Benennen Sie Ihr Projekt und klicken Sie auf "Erstellen".

Sobald Ihr Projekt erstellt ist, öffnen Sie den Seitenordner und suchen Sie die Datei Index.razor. Hier werden die Blazor-Komponenten hinzugefügt und codiert, um Datei-Uploads und -Konvertierungen zu handhaben.

Installation von IronXL

Bevor Sie mit dem Schreiben von Code beginnen, ist es notwendig, die IronXL-Bibliothek zu installieren. Öffnen Sie die Paket-Manager-Konsole in Visual Studio und führen Sie den folgenden Befehl aus:

Install-Package IronXL.Excel

Dieser Befehl wird die IronXL-Bibliothek in Ihrem Blazor-Projekt installieren. Jetzt sind Sie bereit, Code zu schreiben!

Erstellen der Datei-Upload-Komponente

Zuerst wird eine einfache Datei-Upload-Komponente erstellt, mit der Benutzer eine vorhandene Excel-Datei hochladen können. Anschließend wird die Komponente InputFile aus dem Namespace Microsoft.AspNetCore.Components.Forms hinzugefügt. Fügen Sie folgenden Code in Ihre Index.razor-Datei ein, unterhalb der "@page """ Zeile:

@using Microsoft.AspNetCore.Components.Forms
@using IronXL
@using System.IO
@using System.Threading.Tasks

<div class="container">
    <h3>File Upload</h3>

    <InputFile class="button" OnChange="@OnInputFileChange" accept=".xls,.xlsx,.xlsm,.xltx,.csv,.tsv" />
    <h3>Selected File: @originalFileName</h3>
    <h3 style="color:bisque">Is File converted: <span>@message</span></h3>
</div>

Dieser Code richtet die Datei-Upload-Komponente ein, komplett mit einem Button und einem Nachrichtenbereich zur Anzeige des Status der Dateikonvertierung. Das Attribut accept der Komponente InputFile gibt die akzeptierten Dateiformate an.

Schreiben des Dateikonvertierungscodes

Nun schreiben wir den Code, der den Datei-Upload und die Konvertierung handhabt. Eine Kombination aus IronXL, Blazor und C# wird verwendet, um diese Aufgabe zu bewältigen. Sie können IronXL verwenden, um eine CSV- in eine Excel-Datei zu konvertieren.

Fügen Sie den folgenden Code in Ihre Index.razor - Datei unterhalb des Elements div ein, das Sie zuvor hinzugefügt haben.

@code {
    private string originalFileName;
    private string message = "";

    private async Task OnInputFileChange(InputFileChangeEventArgs e)
    {
        var file = e.File;
        originalFileName = file.Name;

        try
        {
            // Read the uploaded file into a memory stream
            using var memoryStream = new MemoryStream();
            await file.OpenReadStream().CopyToAsync(memoryStream);

            // Load the workbook using IronXL
            WorkBook workBook = WorkBook.Load(memoryStream);

            // Save the workbook as a CSV file
            string outputPath = "sample.csv";
            workBook.SaveAsCsv(outputPath);

            message = "Conversion completed!";
        }
        catch (Exception ex)
        {
            message = $"An error occurred: {ex.Message}";
        }
    }
}

Dieser Code definiert eine private Methode namens OnInputFileChange, die beim Hochladen einer Excel-Tabelle mit der Komponente InputFile ausgelöst wird; Excel kann im XLS- oder XLSX-Format vorliegen. Der Code liest die hochgeladene Excel-Datei, lädt sie in ein WorkBook- Objekt und speichert dieses anschließend als CSV-Datei. Der Status der Konvertierung wird im Meldungsbereich der Seite angezeigt.

Code-Zerlegung

Sehen Sie sich zunächst den gesamten Code an:

@page "/"
@using Microsoft.AspNetCore.Components.Forms
@using IronXL
@using System.IO
@using System.Threading.Tasks

<style>
    body{
        background-color: skyblue
    }
    .container {
        max-width: 800px;
        margin: 0 auto;
        font-family: Arial, sans-serif;
    }

    h3 {
        margin-top: 30px;
        font-size: 30px;
        margin-bottom: 30px;
    }

    .button {
        background-color: #4CAF50;
        border: none;
        color: white;
        padding: 15px 32px;
        text-align: center;
        text-decoration: none;
        display: inline-block;
        font-size: 16px;
        margin: 15px 0;
        cursor: pointer;
    }
    span {
        font-size: 20px;
    }
</style>

<div class="container">
    <h3>File Upload</h3>

    <InputFile class="button" OnChange="@OnInputFileChange" accept=".xls,.xlsx,.xlsm,.xltx,.csv,.tsv" />
    <h3>Selected File: @originalFileName</h3>
    <h3 style="color:bisque">Is File converted: <span>@message</span></h3>
</div>

@code {
    private string originalFileName;
    private string message = "";

    private async Task OnInputFileChange(InputFileChangeEventArgs e)
    {
        var file = e.File;
        originalFileName = file.Name;

        try
        {
            // Read the uploaded file into a memory stream
            using var memoryStream = new MemoryStream();
            await file.OpenReadStream().CopyToAsync(memoryStream);

            // Load the workbook using IronXL
            WorkBook workBook = WorkBook.Load(memoryStream);

            // Save the workbook as a CSV file
            string outputPath = "sample.csv";
            workBook.SaveAsCsv(outputPath);

            message = "Conversion completed!";
        }
        catch (Exception ex)
        {
            message = $"An error occurred: {ex.Message}";
        }
    }
}

Brechen wir den Code weiter herunter:

  1. Wenn eine Datei hochgeladen wird, wird die Methode OnInputFileChange ausgelöst und ihr wird ein InputFileChangeEventArgs Objekt übergeben. Dieses Objekt enthält Informationen über die hochgeladene Datei, wie z. B. ihren Namen und ihre Größe.
  2. Speichern Sie den ursprünglichen Dateinamen in einer Variablen namens originalFileName, um ihn auf der Seite anzuzeigen.
  3. Innerhalb eines try-catch-Blocks wird ein neues MemoryStream-Objekt erstellt, um den Inhalt der hochgeladenen Datei zu lesen. Die Using-Anweisung stellt sicher, dass der Speicherstrom ordnungsgemäß freigegeben wird, sobald er nicht mehr benötigt wird.
  4. Verwenden Sie das Schlüsselwort await, um den Inhalt der hochgeladenen Datei asynchron in den Speicherstream zu kopieren. Dies stellt sicher, dass diese Anwendung während des Lesens der Datei reaktionsfähig bleibt.
  5. Anschließend wird die Methode WorkBook.Load verwendet, um den Inhalt des Speicherstreams in ein WorkBook Objekt zu laden. Dieses Objekt repräsentiert das gesamte Excel-Arbeitsbuch, einschließlich seiner Blätter, Zellen und Daten.
  6. Geben Sie dann einen Ausgabedateinamen für die konvertierte CSV-Datei an. In diesem Fall verwenden wir den Namen "sample.csv".
  7. Anschließend wird die Methode SaveAsCsv des Objekts WorkBook verwendet, um die Arbeitsmappe als CSV-Datei unter dem angegebenen Ausgabedateinamen zu speichern.
  8. Wenn die Konvertierung erfolgreich ist, wird eine Nachricht angezeigt, die darauf hinweist, dass die Konvertierung abgeschlossen ist. Wenn ein Fehler auftritt, fangen Sie die Ausnahme ab und zeigen Sie eine Fehlermeldung an.

Testen der Anwendung

Jetzt, da die Blazor-Anwendung vollständig ist, ist es Zeit, sie zu testen! Drücken Sie F5, um Ihre Anwendung in Visual Studio auszuführen. Sobald die Anwendung gestartet ist, sollten Sie einen Datei-Upload-Button auf der Seite sehen.

So exportieren Sie in Blazor nach CSV, Abbildung 1: Führen Sie die Blazor Anwendung aus Führen Sie die Blazor-Anwendung aus

Klicken Sie auf den Button und wählen Sie eine Excel-Datei zum Hochladen aus. Die akzeptierten Dateiformate sind im Attribut "accept" der Komponente InputFile aufgelistet.

So exportieren Sie in Blazor nach CSV, Abbildung 2: Wählen Sie eine Excel-Datei aus Eine Excel-Datei auswählen

Nachdem Sie eine Datei ausgewählt haben, wird die Anwendung die Datei lesen, sie mit IronXL in ein CSV-Format konvertieren und die konvertierte Datei unter dem angegebenen Ausgabedateinamen speichern. Sie sollten eine Nachricht sehen, die den Status der Konvertierung sowie den ursprünglichen Dateinamen anzeigt.

So exportieren Sie in Blazor nach CSV, Abbildung 3: Konvertierungsstatus Konvertierungsstatus

Herzlichen Glückwunsch! Sie haben erfolgreich eine Blazor-Anwendung erstellt, die Excel-Dateien mithilfe von IronXL in das CSV-Format exportieren kann. Der folgende Screenshot zeigt die Ausgabe des obigen Programms.

So exportieren Sie in Blazor nach CSV, Abbildung 4: Die Excel-Ausgabedatei Die ausgegebene Excel-Datei

Abschluss

Dieses Tutorial hat gezeigt, wie man eine Blazor-Anwendung erstellt, die Excel-Dateien mithilfe von IronXL in das CSV-Format exportieren kann. Wir haben gezeigt, wie man eine Datei-Upload-Komponente erstellt, Datei-Uploads bearbeitet und Excel-Dateien mithilfe der leistungsstarken Funktionen von IronXL in das CSV-Format konvertiert.

Indem Sie IronXL in Ihre Blazor-Anwendungen einbinden, können Sie problemlos eine Vielzahl von Excel-bezogenen Aufgaben bewältigen, wie das Importieren, Bearbeiten und Exportieren von Daten. Dies eröffnet Ihnen eine Vielzahl von Möglichkeiten für Ihre Projekte und hilft Ihnen, Ihren Benutzern ein reichhaltigeres Erlebnis zu bieten. Sie können mit der IronXL-Bibliothek CSV in Excel konvertieren.

IronXL bietet eine kostenlose Testversion an, die es Ihnen ermöglicht, seine Funktionen und Fähigkeiten zu testen, bevor Sie sich für einen Kauf entscheiden. Nach Ablauf der Testphase beginnen die Lizenzen für IronXL bei $799.

Häufig gestellte Fragen

Wie kann ich eine Excel-Datei in ein CSV-Format in einer Blazor-Anwendung umwandeln?

Sie können eine Excel-Datei in ein CSV-Format in einer Blazor-Anwendung mit IronXL umwandeln. Richten Sie zunächst ein Blazor-Serverprojekt ein, installieren Sie IronXL über die Paket-Manager-Konsole und erstellen Sie eine Komponente für den Dateiupload mit der Komponente `InputFile`. Lesen Sie dann die Excel-Datei in einen Speicherstream, laden Sie sie in ein WorkBook-Objekt mit IronXL und verwenden Sie die Methode SaveAsCsv, um die Datei als CSV zu exportieren.

Was ist der Zweck der Verwendung von IronXL in Blazor-Anwendungen?

IronXL wird in Blazor-Anwendungen verwendet, um Excel-Daten ohne Microsoft Office oder Excel Interop zu verarbeiten. Es ermöglicht es Entwicklern, Excel-Daten programmatisch zu lesen, zu manipulieren und zu exportieren und Funktionen wie das Importieren von Daten, das Formatieren und das Konvertieren von Excel-Dateien in Formate wie CSV zu nutzen.

Kann ich meine Blazor-Anwendung für den Excel-in-CSV-Upload testen?

Ja, Sie können Ihre Blazor-Anwendung testen, indem Sie sie in Visual Studio ausführen. Verwenden Sie die Komponente für den Dateiupload, um eine Excel-Datei auszuwählen. Die Anwendung wird die ausgewählte Datei mit IronXL in CSV umwandeln und eine Rückmeldung zum Status der Konvertierung geben.

Was sind die Vorteile der Verwendung von IronXL gegenüber Excel Interop?

Die Verwendung von IronXL im Vergleich zu Excel Interop bietet mehrere Vorteile, darunter die Möglichkeit, Excel-Dateien zu manipulieren, ohne dass Microsoft Office installiert sein muss, Unterstützung für mehrere Excel-Formate (XLS, XLSX, CSV) und Kompatibilität mit .NET-Anwendungen, was die Leistung und die Einfachheit der Bereitstellung erhöht.

Wie installiere ich IronXL in meinem Blazor-Projekt?

Um IronXL in Ihrem Blazor-Projekt zu installieren, öffnen Sie die Paket-Manager-Konsole in Visual Studio und führen Sie den Befehl aus: Install-Package IronXL.Excel. Dies installiert die Bibliothek und ermöglicht Ihnen, programmatisch mit Excel-Dateien zu arbeiten.

Welche Excel-Dateiformate werden von IronXL für die Konvertierung in Blazor unterstützt?

IronXL unterstützt eine Vielzahl von Excel-Dateiformaten für die Konvertierung in Blazor, darunter .xls, .xlsx, .xlsm, .xltx und .csv, was eine flexible Handhabung von Excel-Daten innerhalb Ihrer Anwendungen ermöglicht.

Wie kann ich eine Komponente für den Dateiupload in einer Blazor-Anwendung erstellen?

Um eine Komponente für den Dateiupload in einer Blazor-Anwendung zu erstellen, verwenden Sie die `InputFile`-Komponente aus dem Microsoft.AspNetCore.Components.Forms-Namespace. Diese Komponente ermöglicht es Benutzern, Dateien hochzuladen, die dann mit IronXL für Aufgaben wie die Konvertierung von Excel in CSV verarbeitet werden können.

Gibt es eine kostenlose Testversion von IronXL?

Ja, IronXL bietet eine kostenlose Testversion, mit der Sie die Funktionen und Möglichkeiten erkunden können, bevor Sie einen Kauf tätigen. Nach der Testphase können Sie aus verschiedenen Lizenzoptionen wählen, die auf die Bedürfnisse Ihres Projekts zugeschnitten sind.

Jordi Bardia
Software Ingenieur
Jordi ist am besten in Python, C# und C++ versiert. Wenn er nicht bei Iron Software seine Fähigkeiten einsetzt, programmiert er Spiele. Mit Verantwortung für Produkttests, Produktentwicklung und -forschung trägt Jordi mit immensem Wert zur kontinuierlichen Produktverbesserung bei. Die abwechslungsreiche Erfahrung hält ihn gefordert und engagiert, ...
Weiterlesen

Iron Support Team

Wir sind 24 Stunden am Tag, 5 Tage die Woche online.
Chat
E-Mail
Rufen Sie mich an