IRONSOFTWAREHOME
KORZYSTANIE Z IRONXL

Jak eksportować do CSV w Blazor

Curtis Chau
Curtis Chau
Updated: 21 kwietnia 2026

Dzisiaj przyjrzymy się, jak używać Blazora i IronXL do konwersji pliku Excel do formatu CSV. Po zakończeniu tego samouczka będziesz w stanie stworzyć podstawową aplikację Blazor, która eksportuje dane z Excela w różnych formatach, w tym CSV.

Wprowadzenie do IronXL

IronXL to potężna biblioteka .NET dla programu Excel, zaprojektowana do pracy z plikami Excel w szerokiej gamie formatów, w tym XLS, XLSX, XLSM, XLTX i CSV. Pozwala programistom na odczytywanie, zapisywanie i manipulowanie danymi programu Excel programowo, bez konieczności korzystania z pakietu Microsoft Office lub interfejsu Excel Interop.

Dzięki IronXL można tworzyć, wczytywać i zapisywać skoroszyty Excel, a także odczytywać i zapisywać dane w poszczególnych komórkach lub zakresach. Obsługuje również zaawansowane funkcje, takie jak formatowanie, formuły, wykresy i tabele przestawne. IronXL jest kompatybilny z różnymi platformami .NET Framework i może być używany z popularnymi językami, takimi jak C# i VB.NET.

Kroki konwersji pliku Excel do formatu CSV

Konfiguracja projektu Blazor

Aby rozpocząć, należy utworzyć nowy projekt Blazor Server. Otwórz program Visual Studio, utwórz nowy projekt i wybierz szablon "Blazor Server App". Nadaj nazwę projektowi i kliknij "Utwórz".

Po utworzeniu projektu otwórz folder Pages i znajdź plik Index.razor. To właśnie tam dodaje się i koduje komponenty Blazor w celu obsługi przesyłania i konwersji plików.

Instalacja IronXL

Przed rozpoczęciem pisania kodu konieczne jest zainstalowanie biblioteki IronXL. Otwórz konsolę menedżera pakietów w Visual Studio i uruchom następujące polecenie:

PM > Install-Package IronXL.Excel

To polecenie zainstaluje bibliotekę IronXL w Twoim projekcie Blazor. Teraz jesteś gotowy, aby zacząć pisać kod!

Tworzenie komponentu do przesyłania plików

Najpierw utwórz podstawowy komponent przesyłania plików, który pozwala użytkownikom przesłać istniejący plik Excel. Następnie komponent InputFile jest dodawany z przestrzeni nazw Microsoft.AspNetCore.Components.Forms. Dodaj poniższy kod do pliku Index.razor, poniżej linii "@page "":

@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>
Text

Ten kod konfiguruje komponent przesyłania plików, wraz z przyciskiem i obszarem komunikatów służącym do wyświetlania statusu konwersji pliku. Atrybut accept na komponencie InputFile określa akceptowane formaty plików.

Pisanie kodu do konwersji plików

Teraz napiszmy kod obsługujący przesyłanie i konwersję plików. Do realizacji tego zadania zostanie wykorzystane połączenie IronXL, Blazor i C#. Możesz użyć IronXL do konwersji pliku CSV na plik Excel.

Dodaj poniższy kod do pliku Index.razor, poniżej elementu div, który dodałeś wcześniej.

@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}";
        }
    }
}
Text

Ten kod definiuje prywatną metodę o nazwie OnInputFileChange, która zostanie wywołana, gdy arkusz Excel zostanie przesłany za pomocą komponentu InputFile; Pliki Excel mogą być w formacie XLS lub XLSX. Kod odczytuje przesłany podstawowy plik Excel, ładuje go do obiektu WorkBook i następnie zapisuje WorkBook jako plik CSV. Status konwersji jest wyświetlany w obszarze komunikatów na stronie.

Analiza kodu

Najpierw zapoznaj się z pełnym kodem:

@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}";
        }
    }
}
Text

Przeanalizujmy kod bardziej szczegółowo:

  1. Kiedy plik jest przesyłany, metoda OnInputFileChange jest wywoływana i obiekt InputFileChangeEventArgs jest do niej przekazywany. Ten obiekt zawiera informacje o przesłanym pliku, takie jak jego nazwa i rozmiar.
  2. Przechowaj oryginalną nazwę pliku w zmiennej o nazwie originalFileName, aby wyświetlić ją na stronie.
  3. Wewnątrz bloku try-catch utwórz nowy obiekt MemoryStream, aby odczytać zawartość przesłanego pliku. Instrukcja using gwarantuje, że strumień pamięci zostanie prawidłowo usunięty, gdy nie będzie już potrzebny.
  4. Użyj słowa kluczowego await, aby asynchronicznie skopiować zawartość przesłanego pliku do strumienia pamięci. Dzięki temu aplikacja pozostaje responsywna podczas odczytywania pliku.
  5. Następnie metoda WorkBook.Load jest używana do ładowania zawartości strumienia pamięci do obiektu WorkBook. Ten obiekt reprezentuje cały skoroszyt programu Excel, w tym jego arkusze, komórki i dane.
  6. Następnie określ nazwę pliku wyjściowego dla przekonwertowanego pliku CSV. W tym przypadku używamy nazwy "sample.csv".
  7. Metoda SaveAsCsv obiektu WorkBook jest następnie używana do zapisania skoroszytu jako pliku CSV o określonej nazwie pliku wyjściowego.
  8. Jeśli konwersja przebiegnie pomyślnie, wyświetli się komunikat informujący o jej zakończeniu. W przypadku wystąpienia błędu należy przechwycić wyjątek i wyświetlić komunikat o błędzie.

Testowanie aplikacji

Teraz, gdy aplikacja Blazor jest gotowa, czas ją przetestować! Naciśnij klawisz F5, aby uruchomić aplikację w Visual Studio. Po uruchomieniu aplikacji na stronie powinien pojawić się przycisk przesyłania plików.

Jak eksportować do CSV w Blazor, Rysunek 1: Uruchom aplikację Blazor Uruchom aplikację Blazor

Kliknij przycisk i wybierz plik Excel do przesłania. Akceptowane formaty plików są wymienione w atrybucie accept komponentu InputFile.

Jak eksportować do CSV w Blazor, Rysunek 2: Wybierz plik Excel Wybierz plik Excel

Po wybraniu pliku aplikacja odczyta go, przekonwertuje do formatu CSV za pomocą IronXL i zapisze przekonwertowany plik pod określoną nazwą pliku wyjściowego. Powinieneś zobaczyć komunikat wskazujący status konwersji, a także nazwę oryginalnego pliku.

Jak eksportować do CSV w Blazor, Rysunek 3: Status konwersji Status konwersji

Gratulacje! Udało Ci się stworzyć aplikację Blazor, która może eksportować pliki Excel do formatu CSV przy użyciu IronXL. Poniższy zrzut ekranu przedstawia wynik działania powyższego programu.

Jak eksportować do CSV w Blazor, Rysunek 4: Wyjściowy plik Excel Plik Excel z wynikami

Wnioski

W tym samouczku pokazano, jak zbudować aplikację Blazor, która może eksportować pliki Excel do formatu CSV przy użyciu IronXL. Pokazaliśmy, jak stworzyć komponent do przesyłania plików, obsługiwać przesyłanie plików oraz konwertować pliki Excel do formatu CSV, korzystając z zaawansowanych funkcji IronXL.

Włączając IronXL do swoich aplikacji Blazor, można z łatwością wykonywać różnorodne zadania związane z programem Excel, takie jak importowanie, przetwarzanie i eksportowanie danych. Otwiera to szeroki wachlarz możliwości dla Państwa projektów i pomaga zapewnić użytkownikom bogatsze doświadczenia. W Blazorze można konwertować pliki CSV do formatu Excel za pomocą biblioteki IronXL.

IronXL oferuje bezpłatną wersję próbną, która pozwala przetestować jego funkcje i możliwości przed podjęciem decyzji o zakupie. Po okresie próbnym licencje na IronXL zaczynają się od $999.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta