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 is a powerful .NET Excel library designed to work with Excel files in a wide range of formats, including XLS, XLSX, XLSM, XLTX, and CSV. It allows developers to read, write, and manipulate Excel data programmatically without the need for Microsoft Office or Excel Interop.

Mit IronXL können Sie Excel-Arbeitsmappen erstellen, laden und speichern sowie Daten in einzelne Zellen oder Bereiche einlesen und schreiben. It also supports advanced features such as formatting, formulas, charts, and pivot tables. 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, mit dem Schreiben von Code zu beginnen!

Erstellen der Datei-Upload-Komponente

Erstellen Sie zunächst eine grundlegende Datei-Upload-Komponente, die es Benutzern ermöglicht, eine vorhandene Excel-Datei hochzuladen. Anschließend wird die InputFile-Komponente aus dem Microsoft.AspNetCore.Components.Forms-Namensraum 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 accept-Attribut an der InputFile-Komponente 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 ein, unterhalb des div-Elements, 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 ausgelöst wird, wenn ein Excel-Tabellenblatt mit der InputFile-Komponente hochgeladen wird. Excel kann im XLS- oder XLSX-Format vorliegen. Der Code liest die hochgeladene einfache Excel-Datei, lädt sie in ein WorkBook-Objekt und speichert dann das WorkBook als CSV-Datei. Der Status der Konvertierung wird im Nachrichtenbereich auf 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 OnInputFileChange-Methode ausgelöst und ein InputFileChangeEventArgs-Objekt wird an sie ü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. Erstellen Sie innerhalb eines Try-Catch-Blocks ein neues MemoryStream-Objekt, um die Inhalte 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 die Inhalte der hochgeladenen Datei asynchron in den Speicherstrom zu kopieren. Dies stellt sicher, dass diese Anwendung während des Lesens der Datei reaktionsfähig bleibt.
  5. Als Nächstes wird die WorkBook.Load-Methode verwendet, um die Inhalte des Speicherstroms 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. Die SaveAsCsv-Methode des WorkBook-Objekts wird dann verwendet, um das Arbeitsbuch als CSV-Datei mit 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.

Wie man in Blazor nach CSV exportiert, Abbildung 1: Die Blazor-Anwendung ausführen 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 accept-Attribut der InputFile-Komponente aufgelistet.

Wie man in Blazor nach CSV exportiert, Abbildung 2: Eine Excel-Datei auswählen 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.

Wie man in Blazor nach CSV exportiert, 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.

Wie man in Blazor nach CSV exportiert, Abbildung 4: Die Ausgabedatei Excel-Datei 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 dem Testzeitraum 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