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.
Jak generować pliki Excel w Razor Pages
- Zainstaluj bibliotekę C# do generowania plików Excel w Razor
- Otwórz lub utwórz nowy plik Excel w metodzie
- Dodaj dane i styl do obiektu WorkBook w Razor
- Użyj metody File, aby automatycznie pobrać plik Excel po naciśnięciu przycisku
- Sprawdź wygenerowany plik Excel
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:
- Visual Studio (najnowsza wersja)
- .NET Framework 6 lub 7
- 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
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:
WorkBookjest zamieniane naStreamw 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>
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.
IronXL Generowanie arkuszy Excel
Po kliknięciu przycisku "Generuj plik Excel!" plik zostanie pobrany.
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.
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.




