Przejdź do treści stopki
KORZYSTANIE Z IRONXL

Jak eksportować do CSV w Blazor

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:

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 należy utworzyć podstawowy komponent do przesyłania plików, który umożliwi użytkownikom przesyłanie istniejących plików Excel. Następnie dodaje się komponent InputFile 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>

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 w 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}";
        }
    }
}

Ten kod definiuje metodę prywatną o nazwie OnInputFileChange, która zostanie wywołana po przesłaniu arkusza kalkulacyjnego Excel za pomocą komponentu InputFile; Pliki Excel mogą być w formacie XLS lub XLSX. Kod odczytuje przesłany plik Excel, ładuje go do obiektu WorkBook, a 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}";
        }
    }
}

Przeanalizujmy kod bardziej szczegółowo:

  1. Po przesłaniu pliku uruchamiana jest metoda OnInputFileChange, do której przekazywany jest obiekt InputFileChangeEventArgs. Ten obiekt zawiera informacje o przesłanym pliku, takie jak jego nazwa i rozmiar.
  2. Zapisz oryginalną nazwę pliku w zmiennej o nazwie originalFileName, aby wyświetlić ją na stronie.
  3. W 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 służy do zał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. Następnie używana jest metoda SaveAsCsv obiektu WorkBook w celu zapisania skoroszytu jako pliku CSV o podanej 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 wyeksportować do pliku CSV w Blazorze, 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 pliku 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 pliku CSV w Blazorze, 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 pliku CSV w Blazorze, rysunek 4: Plik Excel z wynikami 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 ceny licencji na IronXL zaczynają się od $799.

Często Zadawane Pytania

Jak mogę przekonwertować plik Excel do formatu CSV w aplikacji Blazor?

W aplikacji Blazor można przekonwertować plik Excel do formatu CSV za pomocą IronXL. Najpierw należy skonfigurować projekt Blazor Server, zainstalować IronXL za pomocą konsoli Package Manager Console oraz utworzyć komponent do przesyłania plików za pomocą komponentu `InputFile`. Następnie należy wczytać plik Excel do strumienia pamięci, załadować go do obiektu WorkBook za pomocą IronXL i użyć metody SaveAsCsv, aby wyeksportować plik jako CSV.

Jaki jest cel stosowania IronXL w aplikacjach Blazor?

IronXL jest używany w aplikacjach Blazor do obsługi danych Excel bez konieczności korzystania z pakietu Microsoft Office lub Excel Interop. Pozwala programistom na odczytywanie, manipulowanie i eksportowanie danych Excel za pomocą kodu, umożliwiając takie funkcje jak importowanie danych, formatowanie oraz konwersja plików Excel do formatów takich jak CSV.

Czy mogę przetestować moją aplikację Blazor pod kątem konwersji plików Excel do formatu CSV?

Tak, możesz przetestować swoją aplikację Blazor, uruchamiając ją w Visual Studio. Użyj komponentu przesyłania plików, aby wybrać plik Excel. Aplikacja przekonwertuje wybrany plik do formatu CSV przy użyciu IronXL i wyświetli informacje o statusie konwersji.

Jakie są zalety korzystania z IronXL w porównaniu z Excel Interop?

Korzystanie z IronXL zamiast Excel Interop zapewnia kilka korzyści, w tym możliwość manipulowania plikami Excel bez konieczności instalowania pakietu Microsoft Office, obsługę wielu formatów Excel (XLS, XLSX, CSV) oraz kompatybilność z aplikacjami .NET, co zwiększa wydajność i ułatwia wdrażanie.

Jak zainstalować IronXL w moim projekcie Blazor?

Aby zainstalować IronXL w projekcie Blazor, otwórz konsolę menedżera pakietów w Visual Studio i uruchom polecenie: Install-Package IronXl.Excel. Spowoduje to zainstalowanie biblioteki IronXL, umożliwiając rozpoczęcie pracy z plikami Excel za pomocą kodu.

Jakie formaty plików Excel są obsługiwane przez IronXL do konwersji w Blazorze?

IronXL obsługuje wiele formatów plików Excel do konwersji w Blazorze, w tym .xls, .xlsx, .xlsm, .xltx i .csv, co pozwala na elastyczną obsługę danych Excel w aplikacjach.

Jak mogę utworzyć komponent do przesyłania plików w aplikacji Blazor?

Aby utworzyć komponent do przesyłania plików w aplikacji Blazor, należy użyć komponentu `InputFile` z przestrzeni nazw Microsoft.AspNetCore.Components.Forms. Komponent ten umożliwia użytkownikom przesyłanie plików, które następnie mogą być przetwarzane za pomocą IronXL w celu wykonania takich zadań, jak konwersja plików Excel do formatu CSV.

Czy dostępna jest bezpłatna wersja próbna IronXL?

Tak, IronXL oferuje bezpłatną wersję próbną, która pozwala zapoznać się z jego funkcjami i możliwościami przed dokonaniem zakupu. Po zakończeniu okresu próbnego można wybrać jedną z różnych opcji licencyjnych w zależności od potrzeb projektu.

Jordi Bardia
Inżynier oprogramowania
Jordi jest najbardziej biegły w Pythonie, C# i C++. Kiedy nie wykorzystuje swoich umiejętności w Iron Software, programuje gry. Dzieląc odpowiedzialność za testowanie produktów, rozwój produktów i badania, Jordi wnosi ogromną wartość do ciągłej poprawy produktów. Różnorodne doświadczenia ...
Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie