Przejdź do treści stopki
KORZYSTANIE Z IRONXL

Jak generować plik Excel na stronach Razor

Razor Pages oferuje nowoczesne podejście do tworzenia stron internetowych. W Razor Pages kod źródłowy odpowiedziąlny za renderowanie strony internetowej jest napisany w języku C#, a nie generowany przez stronę po stronie serwera.

Aby efektywnie pracować z plikami Excel, zaleca się korzystanie z biblioteki IronXL zamiast innych rozwiązań, takich jak pakiet NPOI projektu POI Java (używany głównie z plikami PowerPoint) oraz Office Interop. IronXL to bogata w funkcje, łatwa w użyciu biblioteka, która nie wymaga pakietu Microsoft Office i obsługuje wiele wersji .NET.

W tym artykułe pokazano, jak używać biblioteki IronXL C# do generowania i eksportowania arkuszy kalkulacyjnych Excel z przykładowymi danymi i nagłówkami wierszy w Razor Pages.

IronXL: biblioteka C# dla programu Excel

IronXL to biblioteka C# dla programu Excel, która oferuje metody i funkcje do operowania na dużych zestawach danych przy użyciu przetwarzania równoległego w celu zwiększenia mocy obliczeniowej. Jest przyjazny dla użytkownika, ponieważ nie wymaga zrozumieniuiuiuiuia wewnętrznego działania i obsługuje zarówno pliki XLS, jak i XLSX.

IronXL idealnie nadaje się do importowania, eksportowania, tworzenia formuł Excel oraz dokumentów biurowych bez konieczności instalowania pakietu Microsoft Office.

Dowiedz się, jak importować i eksportować pliki Excel w Razor Pages przy użyciu IronXL.

Generowanie pliku Excel w Razor Pages

Aby utworzyć arkusze Excel w Razor Pages, należy najpierw otworzyć Visual Studio, utworzyć aplikację internetową ASP.NET Core i zainstalować IronXL.

Wymagania wstępne

Konfiguracja tworzenia plików Excel w Razor Pages wymaga:

  1. Visual Studio (najnowsza wersja)
  2. .NET Framework 6 lub 7
  3. Aplikacja internetowa .NET Core w Visual Studio

Zainstaluj bibliotekę IronXL

Zainstaluj IronXL za pomocą konsoli NuGet Package Manager Console. Wpisz to polecenie, aby zainstalować bibliotekę w aplikacji internetowej .NET Core:

Install-Package IronXl.Excel

Kod do generowania pliku Excel

Oto jak napisać kod. Otwórz plik "Index.cs" w folderze Pages i dodaj następującą metodę:

public FileResult OnPostExport()
{
    // Create a new WorkBook with XLSX format
    WorkBook workBook = new WorkBook(IronXl.ExcelFileFormat.XLSX);
    // Create a new WorkSheet named "data"
    WorkSheet workSheet = workBook.CreateWorkSheet("data");

    // Add headers to the new worksheet
    workSheet["A1"].Value = "Product EN";
    workSheet["B1"].Value = "SKU";
    workSheet["C1"].Value = "Customer";

    // Make header text bold
    workSheet["A1:C1"].Style.Font.Bold = true;

    // Add dummy data to the worksheet
    workSheet["A2"].Value = "Iron Rods";
    workSheet["A3"].Value = "Mobile Phones";
    workSheet["A4"].Value = "Chargers";

    workSheet["B2"].Value = "105";
    workSheet["B3"].Value = "285";
    workSheet["B4"].Value = "301";

    workSheet["C2"].Value = "Adam";
    workSheet["C3"].Value = "Ellen";
    workSheet["C4"].Value = "Tom";

    // Convert the WorkBook to a byte array Stream for download
    return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Grid.xlsx");
}
public FileResult OnPostExport()
{
    // Create a new WorkBook with XLSX format
    WorkBook workBook = new WorkBook(IronXl.ExcelFileFormat.XLSX);
    // Create a new WorkSheet named "data"
    WorkSheet workSheet = workBook.CreateWorkSheet("data");

    // Add headers to the new worksheet
    workSheet["A1"].Value = "Product EN";
    workSheet["B1"].Value = "SKU";
    workSheet["C1"].Value = "Customer";

    // Make header text bold
    workSheet["A1:C1"].Style.Font.Bold = true;

    // Add dummy data to the worksheet
    workSheet["A2"].Value = "Iron Rods";
    workSheet["A3"].Value = "Mobile Phones";
    workSheet["A4"].Value = "Chargers";

    workSheet["B2"].Value = "105";
    workSheet["B3"].Value = "285";
    workSheet["B4"].Value = "301";

    workSheet["C2"].Value = "Adam";
    workSheet["C3"].Value = "Ellen";
    workSheet["C4"].Value = "Tom";

    // Convert the WorkBook to a byte array Stream for download
    return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Grid.xlsx");
}
Public Function OnPostExport() As FileResult
    ' Create a new WorkBook with XLSX format
    Dim workBook As New WorkBook(IronXl.ExcelFileFormat.XLSX)
    ' Create a new WorkSheet named "data"
    Dim workSheet As WorkSheet = workBook.CreateWorkSheet("data")

    ' Add headers to the new worksheet
    workSheet("A1").Value = "Product EN"
    workSheet("B1").Value = "SKU"
    workSheet("C1").Value = "Customer"

    ' Make header text bold
    workSheet("A1:C1").Style.Font.Bold = True

    ' Add dummy data to the worksheet
    workSheet("A2").Value = "Iron Rods"
    workSheet("A3").Value = "Mobile Phones"
    workSheet("A4").Value = "Chargers"

    workSheet("B2").Value = "105"
    workSheet("B3").Value = "285"
    workSheet("B4").Value = "301"

    workSheet("C2").Value = "Adam"
    workSheet("C3").Value = "Ellen"
    workSheet("C4").Value = "Tom"

    ' Convert the WorkBook to a byte array Stream for download
    Return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Grid.xlsx")
End Function
$vbLabelText   $csharpLabel

W tym kodzie tworzony jest nowy plik Excel WorkBook, zawierający jeden WorkSheet. Arkusz jest wypełniony danymi przykładowymi, a wygenerowany plik jest wysyłany z powrotem do serwera z:

  • WorkBook jest zamieniane na Stream w celu pobrania jako plik.
  • Typ MIME jest ustawiony.
  • Określono nazwę pliku do pobrania.

Utwórz przycisk do pobrania pliku Excel

Zastąp istniejący kod w pliku "Index.cshtml" następującym:

@page
@model IndexModel
@{
    ViewData["Title"] = "Home page";
}

<div class="text-center">
    <h1 class="display-4">IronXL Generate Excel File</h1>
    <p class="m-5">IronXL is an Excel Library for C# that allows developers to read and edit Excel data from XLS and XLSX documents without using Microsoft.Office.Interop.Excel</p>
    <form method="post" asp-page-handler="Export">
        <button class="btn btn-success p-3">Generate Excel File!</button>
    </form>
</div>
@page
@model IndexModel
@{
    ViewData["Title"] = "Home page";
}

<div class="text-center">
    <h1 class="display-4">IronXL Generate Excel File</h1>
    <p class="m-5">IronXL is an Excel Library for C# that allows developers to read and edit Excel data from XLS and XLSX documents without using Microsoft.Office.Interop.Excel</p>
    <form method="post" asp-page-handler="Export">
        <button class="btn btn-success p-3">Generate Excel File!</button>
    </form>
</div>
HTML

Ten kod HTML tworzy formularz z asp-page-handler ustawionym na "Export", umożliwiając aplikacji eksport pliku Excel na komputer lokalny, gdy użytkownik kliknie przycisk "Generate Excel File!", co uruchamia pobieranie w przeglądarce.

Uruchom projekt

Uruchom projekt, a w przeglądarce pojawi się ekran. Kliknij zielony przycisk, aby pobrać plik Excel.

Jak wygenerować plik Excel w Razor Pages, rysunek 1: IronXL Generate Excel Sheets IronXL Generowanie arkuszy Excel

Po kliknięciu przycisku "Generuj plik Excel!" plik zostanie pobrany.

Jak wygenerować plik Excel w Razor Pages, rysunek 2: Pobrany plik IronXL Pobrany plik IronXL

Otwórz wygenerowany plik Excel

Zawartość wygenerowanego pliku Excel odpowiada wynikowi kodu z idealnym formatowaniem. Poniżej znajduje się zrzut ekranu wygenerowanego pliku Excel.

Jak wygenerować plik Excel w Razor Pages, rysunek 3: Plik wygenerowany przez IronXL Plik wygenerowany przez IronXL

IronXL lepszy od konkurencji

IronXL to doskonałe narzędzie do pracy zarówno z formatami XLS, jak i XLSX, pozbawione ograniczeń charakterystycznych dla NPOI, które działa wolniej ze względu na to, że jest oparte na Javie, podczas gdy IronXL jest napisane w C#. W aplikacjach ASP.NET Core generujących duże lub wiele arkuszy kalkulacyjne należy wybrać IronXL zamiast POI.

IronXL umożliwia tworzenie i edycję plików Excel bez pakietu Microsoft Office. W przeciwieństwie do Microsoft Interop, IronXL nie wymaga wywoływania ActiveX programu Microsoft Excel do operacji lub eksportu plików Excel. Umożliwia również eksportowanie plików CSV do formatu Excel.

IronXL oferuje również szeroki zakres funkcji do pracy z plikami Excel, w tym konwersję między popularnymi formatami, wstawianie funkcji matematycznych, dodawanie wykresów oraz wstawianie obrazów.

Wnioski

W tym artykułe pokazano, jak używać IronXL do generowania pliku Excel w Razor Pages bez konieczności korzystania z Microsoft Excel ActiveX oraz do ułatwiania pobierania plików.

Zapoznaj się z innymi samouczkami dotyczącymi tworzenia plików Excel.

IronXL jest bezpłatny do użytku w celach niekomercyjnych. Dostępna jest bezpłatna wersja próbna do testów produkcyjnych. Zobacz plany cenowe, aby uzyskać więcej informacji na temat cen i licencji.

Często Zadawane Pytania

Jak mogę wygenerować plik Excel w Razor Pages bez użycia Interop?

W Razor Pages można wygenerować plik Excel bez użycia Interop, korzystając z biblioteki IronXL. Biblioteka ta pozwala tworzyć i edytować pliki Excel bezpośrednio w języku C#, bez konieczności korzystania z pakietu Microsoft Office, poprzez utworzenie skoroszytu (WorkBook) i dodanie danych do arkusza (WorkSheet).

Jakie kroki należy wykonać, aby zainstalować IronXL w projekcie Razor Pages?

Aby zainstalować IronXL w projekcie Razor Pages, można użyć konsoli NuGet Package Manager Console w Visual Studio. Należy wykonać polecenie Install-Package IronXl.Excel, aby dodać bibliotekę do projektu.

Czy mogę używać IronXL do eksportowania danych z aplikacji Razor Pages?

Tak, IronXL może służyć do eksportowania danych z aplikacji Razor Pages. Można przekonwertować dane do formatu Excel, a następnie użyć Razor Pages do przesłania tych danych z powrotem do klienta jako plik do pobrania.

Jakie są zalety korzystania z IronXL zamiast Microsoft Interop do generowania plików Excel?

IronXL oferuje kilka zalet w porównaniu z Microsoft Interop, w tym większą wydajność, brak konieczności instalacji pakietu Microsoft Office oraz możliwość wydajnego przetwarzania dużych zbiorów danych dzięki przetwarzaniu równoległemu.

Czy w Razor Pages można obsługiwać duże zbiory danych Excel przy użyciu IronXL?

Tak, IronXL jest w stanie efektywnie obsługiwać duże zbiory danych Excel. Obsługuje przetwarzanie równoległe, co może poprawić wydajność i szybkość pracy z obszernymi zbiorami danych.

Czy IronXL obsługuje różne formaty plików Excel?

IronXL obsługuje zarówno formaty plików XLS, jak i XLSX, umożliwiając kompleksową obsługę plików Excel, w tym importowanie, eksportowanie i formatowanie danych.

Czy istnieją bezpłatne opcje korzystania z IronXL w procesie tworzenia oprogramowania?

IronXL jest dostępny bezpłatnie do użytku niekomercyjnego. Dostępna jest bezpłatna wersja próbna do testów produkcyjnych, a do użytku komercyjnego oferowane są różne plany cenowe.

Jak mogę uruchomić pobieranie pliku Excel w Razor Pages przy użyciu IronXL?

Aby zainicjować pobieranie pliku Excel w Razor Pages przy użyciu IronXL, należy utworzyć skoroszyt, wypełnić go danymi, a następnie przekonwertować go na tablicę bajtów. Należy użyć metody Razor Pages File, aby przesłać tablicę bajtów jako plik do pobrania dla użytkownika.

Co sprawia, że biblioteka IronXL jest lepszym wyborem niż inne biblioteki, takie jak NPOI?

IronXL jest często preferowany w stosunku do bibliotek takich jak NPOI ze względu na natywną implementację w języku C#, która zapewnia większą wydajność, łatwość użytkowania i brak zależności od komponentów Java, co czyni go idealnym rozwiązaniem dla aplikacji ASP.NET Core.

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