Przejdź do treści stopki
KORZYSTANIE Z IRONXL

Jak eksportować pliki CSV i Excel w Razor

Szukasz sposobu na eksport danych do pliku Excel przy użyciu Razor Pages? W tym artykułe wyjaśniono, jak to zrobić przy użyciu IronXL for .NET.

1. IronXL

IronXL to biblioteka .NET służąca do pracy z plikami Excel. Jest oparty na OpenXML SDK i zapewnia prosty interfejs API do odczytu, zapisu i manipulacji arkuszami kalkulacyjnymi Excel. IronXL może być używany w różnych aplikacjach .NET, w tym w aplikacjach internetowych, aplikacjach desktopowych i aplikacjach konsolowych. IronXL oferuje szereg funkcji do pracy z dokumentami Excel, w tym możliwość odczytu i zapisu danych w poszczególnych komórkach, tworzenia wykresów i diagramów oraz wykonywania złożonych obliczeń. Obsługuje również zaawansowane funkcje programu Excel, takie jak tabele przestawne, formatowanie warunkówe i sprawdzanie poprawności danych.

Eksportowanie danych do plików Excel i CSV jest powszechnym zadaniem w tworzeniu stron internetowych, a Razor i IronXL ułatwiają jego realizację. Dzięki IronXL programiści mogą z łatwością tworzyć arkusze kalkulacyjne Excel i zapisywać je w pliku lub strumieniu. Następnie można użyć Razor do generowania dynamicznej treści zawierającej linki do dokumentów Excel, umożliwiając użytkownikom pobieranie ich bezpośrednio ze strony internetowej. Plik w formacie CSV można również wygenerować za pomocą IronXL i pobrać w podobny sposób za pomocą Razor. Ułatwia to tworzenie raportów i innych treści opartych na danych, które można łatwo udostępniać innym. Ogólnie rzecz biorąc, połączenie Razor i IronXL .NET Core Razor Pages zapewnia potężny zestaw narzędzi dla programistów internetowych, którzy chcą tworzyć dynamiczne, oparte na danych strony internetowe.

2. Wymagania wstępne

Przed użyciem Razor w Visual Studio użytkownicy powinni spełnić kilka warunków wstępnych. Oto niektóre z najważniejszych:

  1. Jako użytkownik IronXL musisz mieć zainstalowane Visual Studio na swoim komputerze. Program Visual Studio Community można pobrać bezpłatnie z oficjalnej strony internetowej firmy Microsoft.
  2. Musisz również mieć zainstalowany na komputerze zestaw SDK .NET Core. Najnowszą wersję zestawu SDK .NET Core można pobrać z oficjalnej strony internetowej firmy Microsoft.
  3. Przed rozpoczęciem pracy z Razor View należy skonfigurować środowisko programistyczne.

3. Tworzenie nowego projektu w Visual Studio

Aby utworzyć nowy projekt w Visual Studio, wykonaj następujące czynności:

  1. Otwórz program Visual Studio.
  2. Kliknij "Utwórz nowy projekt" w oknie startowym lub kliknij "Plik" > "Nowy" > "Projekt" na pasku menu.

    Jak eksportować pliki CSV i Excel w Razor, rysunek 1: Okno startowe programu Visual Studio Okno startowe programu Visual Studio

  3. Wybierz typ projektu, który chcesz utworzyć. Aby korzystać z Razor Pages, wybierz opcję Aplikacja internetowa .NET Core i kliknij Dalej.

    Jak eksportować pliki CSV i Excel w Razor, rysunek 2: Utwórz nową aplikację internetową .NET Core w Visual Studio Utwórz nową aplikację internetową .NET Core w programie Visual Studio

  4. Pojawi się nowe okno, wpisz nazwę nowego projektu i lokalizację. Następnie kliknij Dalej.

    Jak eksportować pliki CSV i Excel w Razor, rysunek 3: Konfiguracja nowego projektu Skonfiguruj nowy projekt

  5. Teraz w nowym oknie wybierz docelowy framework, zaznacz opcję konfiguracji dla HTTPS i kliknij "Utwórz".
  6. W ten sposób tworzony jest nowy projekt aplikacji internetowej Visual Studio .NET Core.

4. Zainstaluj IronXL

Bibliotekę IronXL można pobrać i zainstalować na różne sposoby.

Są to:

  • Korzystanie z pakietów NuGet w Visual Studio.
  • Korzystanie z wiersza poleceń programu Visual Studio.

4.1 Korzystanie z programu Visual Studio

Aby zainstalować bibliotekę IronXL, najprostszym sposobem jest użycie menedżera pakietów NuGet. Otwórz menedżera i wyszukaj IronXL w zakładce przeglądania. Wybierz IronXL z wyników wyszukiwania i zainstaluj go.

Poniższy zrzut ekranu pokazuje, jak otworzyć menedżera pakietów NuGet w programie Visual Studio.

Jak eksportować pliki CSV i Excel w Razor, rysunek 4: Przejdź do menedżera pakietów NuGet Przejdź do menedżera pakietów NuGet

IronXL w wynikach wyszukiwania:

Jak eksportować pliki CSV i Excel w Razor, rysunek 5: Wyszukiwanie IronXL w interfejsie użytkownika menedżera pakietów NuGet Wyszukaj IronXL w interfejsie użytkownika menedżera pakietów NuGet

4.2 Korzystanie z wiersza poleceń programu Visual Studio

Wykorzystanie konsoli do wykonywania operacji jest popularnym wyborem dla wielu osób. Jeśli wolisz zainstalować IronXL za pomocą wiersza poleceń, wykonaj następujące kroki:

  • W programie Visual Studio przejdź do menu Narzędzia > Menedżer pakietów NuGet > Konsola menedżera pakietów.
  • Wpisz następujący wiersz w zakładce Konsola menedżera pakietów, co spowoduje zainstalowanie pakietu:
Install-Package IronXl.Excel

Teraz pakiet zostanie pobrany/zainstalowany w bieżącym projekcie i będzie gotowy do użycia.

Jak eksportować pliki CSV i Excel w Razor, rysunek 6: Zainstaluj IronXL w konsoli menedżera pakietów Zainstaluj IronXL w konsoli menedżera pakietów

5. Eksportowanie danych do pliku Excel w Razor .NET Core

Po utworzeniu projektu powstaje prosty interfejs aplikacji Razor. Teraz zmień interfejs, aby umożliwić eksport do Excela.

Jak eksportować pliki CSV i Excel w Razor, rysunek 7: Interfejs internetowy nowo utworzonego projektu Interfejs internetowy nowo utworzonego projektu

Zmień powyższy interfejs, edytując plik index.cshtml w katalogu Pages.

@page
@model IndexModel
@{
    ViewData["Title"] = "Home page";
}
<div class="text-center">
    <h1 class="display-4">IronXL Generate Excel File</h1>
    <p class="m-5">This will be the combination of Razor and IronXL, together they will Export data to Excel file.</p>
    <form method="post" asp-page-handler="Export">
        <button class="btn btn-success p-3">Export 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">This will be the combination of Razor and IronXL, together they will Export data to Excel file.</p>
    <form method="post" asp-page-handler="Export">
        <button class="btn btn-success p-3">Export Excel File!</button>
    </form>
</div>
page model ReadOnly Property () As IndexModel
	ViewData("Title") = "Home page"
End Property
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<div class="text-center"> <h1 class="display-4"> IronXL Generate Excel File</h1> <p class="m-5"> This will be the combination @of Razor @and IronXL, together they will Export data @to Excel file.</p> <form method="post" asp-page-handler="Export"> <button class="btn btn-success p-3"> Export Excel File!</button> </form> </div>
$vbLabelText   $csharpLabel

Ten kod zmieni wygląd strony głównej i doda przycisk eksportu.

Jak eksportować pliki CSV i Excel w Razor, rysunek 8: Nowy interfejs z przyciskiem eksportu Nowy interfejs z przyciskiem eksportu

Teraz utwórz metodę OnPostExport w pliku index.cshtml.cs i wpisz następujący kod. Ten kod generuje arkusz, zapisuje nazwy kolumn pogrubioną czcionką i pozwala ustawić inne opcje stylizacji, takie jak rozmiar czcionki i kolor tła. Można to potraktować jako prosty przykład eksportowania danych z bazy danych do pliku Excel.

public FileResult OnPostExport()
{
    // Create a new workbook with the Excel file format
    WorkBook workBook = new WorkBook(IronXl.ExcelFileFormat.XLSX);

    // Create a new worksheet in the workbook
    WorkSheet workSheet = workBook.CreateWorkSheet("data");

    // Add data and styles to the new worksheet
    workSheet["A1"].Value = "Name";
    workSheet["B1"].Value = "Email";
    workSheet["C1"].Value = "Marks";
    workSheet["D1"].Value = "Percentage";

    // Set styling for column headers
    workSheet["A1:D1"].Style.Font.Bold = true;

    // Filling the worksheet with data
    workSheet["A2"].Value = "Nick";
    workSheet["A3"].Value = "Roy";
    workSheet["A4"].Value = "Chris";
    workSheet["B2"].Value = "Nick@gmail.com";
    workSheet["B3"].Value = "Roy123@gmail.com";
    workSheet["B4"].Value = "Chris1999@gmail.com";
    workSheet["C2"].Value = "850";
    workSheet["C3"].Value = "710";
    workSheet["C4"].Value = "990";
    workSheet["D2"].Value = "85%";
    workSheet["D3"].Value = "71%";
    workSheet["D4"].Value = "99%";

    // Return the file as an Excel sheet
    return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Exported.xlsx");
}
public FileResult OnPostExport()
{
    // Create a new workbook with the Excel file format
    WorkBook workBook = new WorkBook(IronXl.ExcelFileFormat.XLSX);

    // Create a new worksheet in the workbook
    WorkSheet workSheet = workBook.CreateWorkSheet("data");

    // Add data and styles to the new worksheet
    workSheet["A1"].Value = "Name";
    workSheet["B1"].Value = "Email";
    workSheet["C1"].Value = "Marks";
    workSheet["D1"].Value = "Percentage";

    // Set styling for column headers
    workSheet["A1:D1"].Style.Font.Bold = true;

    // Filling the worksheet with data
    workSheet["A2"].Value = "Nick";
    workSheet["A3"].Value = "Roy";
    workSheet["A4"].Value = "Chris";
    workSheet["B2"].Value = "Nick@gmail.com";
    workSheet["B3"].Value = "Roy123@gmail.com";
    workSheet["B4"].Value = "Chris1999@gmail.com";
    workSheet["C2"].Value = "850";
    workSheet["C3"].Value = "710";
    workSheet["C4"].Value = "990";
    workSheet["D2"].Value = "85%";
    workSheet["D3"].Value = "71%";
    workSheet["D4"].Value = "99%";

    // Return the file as an Excel sheet
    return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Exported.xlsx");
}
Public Function OnPostExport() As FileResult
    ' Create a new workbook with the Excel file format
    Dim workBook As New WorkBook(IronXl.ExcelFileFormat.XLSX)

    ' Create a new worksheet in the workbook
    Dim workSheet As WorkSheet = workBook.CreateWorkSheet("data")

    ' Add data and styles to the new worksheet
    workSheet("A1").Value = "Name"
    workSheet("B1").Value = "Email"
    workSheet("C1").Value = "Marks"
    workSheet("D1").Value = "Percentage"

    ' Set styling for column headers
    workSheet("A1:D1").Style.Font.Bold = True

    ' Filling the worksheet with data
    workSheet("A2").Value = "Nick"
    workSheet("A3").Value = "Roy"
    workSheet("A4").Value = "Chris"
    workSheet("B2").Value = "Nick@gmail.com"
    workSheet("B3").Value = "Roy123@gmail.com"
    workSheet("B4").Value = "Chris1999@gmail.com"
    workSheet("C2").Value = "850"
    workSheet("C3").Value = "710"
    workSheet("C4").Value = "990"
    workSheet("D2").Value = "85%"
    workSheet("D3").Value = "71%"
    workSheet("D4").Value = "99%"

    ' Return the file as an Excel sheet
    Return File(workBook.ToStream().ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Exported.xlsx")
End Function
$vbLabelText   $csharpLabel

Powyższy kod utworzy skoroszyt i zwróci plik jako arkusz Excel. Ta metoda jest powiązana z przyciskiem, a po jego kliknięciu automatycznie utworzy i pobierze eksportowany plik XLSX.

Jak eksportować pliki CSV i Excel w Razor, rysunek 9: Eksport pliku XLSX w przeglądarce Eksportuj plik XLSX w przeglądarce

Jak eksportować pliki CSV i Excel w Razor, rysunek 10: Dane w wyeksportowanym pliku XLSX Dane w wyeksportowanym pliku XLSX

6. Eksportuj dane do pliku CSV

Możesz łatwo eksportować pliki tekstowe CSV, wprowadzając jedną zmianę w powyższym kodzie. Wystarczy zastąpić kod zwracający plik poniższym kodem, a strona Razor zwróci plik CSV.

return File(workBook.ToStream().ToArray(), "text/csv", "Student.csv");
return File(workBook.ToStream().ToArray(), "text/csv", "Student.csv");
Return File(workBook.ToStream().ToArray(), "text/csv", "Student.csv")
$vbLabelText   $csharpLabel

Jak eksportować pliki CSV i Excel w Razor, rysunek 11: Eksport pliku CSV w przeglądarce Eksportuj plik CSV w przeglądarce

Jak eksportować pliki CSV i Excel w Razor, rysunek 12: Dane w wyeksportowanym pliku CSV Dane w wyeksportowanym pliku CSV

7. Podsumowanie

Eksportowanie danych do arkuszy Excel i plików CSV jest częstym zadaniem w tworzeniu stron internetowych, a Razor i IronXL ułatwiają jego realizację. Dzięki IronXL programiści mogą z łatwością tworzyć arkusze kalkulacyjne Excel i zapisywać je w pliku lub strumieniu. Następnie można użyć Razor do generowania dynamicznej treści zawierającej linki do dokumentów Excel, umożliwiając użytkownikom pobieranie ich bezpośrednio ze strony internetowej. Ułatwia to tworzenie raportów i innych treści opartych na danych, które można łatwo udostępniać innym.

Połączenie Razor i IronXL .NET Core Razor Pages zapewnia potężny zestaw narzędzi dla programistów internetowych, którzy chcą tworzyć dynamiczne, oparte na danych strony internetowe. Aby rozpocząć korzystanie z Razor i IronXL, należy zainstalować Visual Studio oraz .NET Core SDK. Następnie można łatwo utworzyć nowy projekt w Visual Studio i zainstalować bibliotekę IronXL. Wreszcie, zmieniając interfejs strony głównej i tworząc metodę OnPostExport, programiści mogą eksportować dane do dokumentów Excel w kilku prostych krokach.

Aby dowiedzieć się więcej o IronXL, Razorze oraz o tym, jak eksportować dane do plików Excel i CSV, odwiedź poniższą stronę.

IronXL jest bezpłatny do użytku w celach programistycznych o charakterze niekomercyjnym. Dostępna jest bezpłatna wersja próbna do testowania w środowisku produkcyjnym. Zapoznaj się z planami cenowymi, aby uzyskać więcej informacji na temat cen i licencji.

Użytkownicy mogą również skorzystać z Iron Suite, pakietu 5 profesjonalnych bibliotek ASP.NET Core, w tym IronXL, IronPDF i innych.

Często Zadawane Pytania

Jak mogę wyeksportować dane do Excela za pomocą Razor Pages?

Możesz używać IronXL w połączeniu z Razor Pages do eksportowania danych do Excela. Zacznij od zainstalowania IronXL za pomocą menedżera pakietów NuGet lub wiersza poleceń Visual Studio. Następnie utwórz nowy skoroszyt i arkusz, wypełnij go danymi i wyeksportuj jako plik Excel za pomocą Razor.

Jakie kroki należy wykonać, aby skonfigurować środowisko do eksportowania danych do programu Excel przy użyciu Razor?

Aby skonfigurować środowisko, potrzebujesz programu Visual Studio i zestawu SDK .NET Core. Utwórz nowy projekt aplikacji internetowej ASP.NET Core, zainstaluj IronXL z NuGet i zmodyfikuj interfejs Razor, aby dodać funkcje eksportu.

Jak wygląda proces eksportowania danych do pliku CSV w aplikacji .NET?

Aby wyeksportować dane jako plik CSV przy użyciu IronXL, zmodyfikuj kod strony Razor tak, aby zwracała plik w formacie „text/csv”. Wymaga to użycia IronXL do obsługi danych arkusza oraz określenia formatu CSV jako formatu wyjściowego.

Czy mogę formatować arkusze kalkulacyjne Excel podczas eksportowania z Razor Pages?

Tak, IronXL pozwala na stosowanie stylów w arkuszach kalkulacyjnych Excel podczas eksportowania z Razor Pages. Można dostosować czcionki, kolory i inne elementy formatowania, aby poprawić prezentację danych.

Czy można używać IronXL w projektach niekomercyjnych?

IronXL jest dostępny bezpłatnie do niekomercyjnych celów programistycznych. Można również skorzystać z bezpłatnej wersji próbnej do testowania w środowiskach produkcyjnych, a szczegółowe plany cenowe są dostępne do użytku komercyjnego.

W jaki sposób IronXL upraszcza zadania związane z tworzeniem stron internetowych z wykorzystaniem plików Excel i CSV?

IronXL upraszcza tworzenie stron internetowych, udostępniając potężny interfejs API do generowania i edycji plików Excel i CSV bezpośrednio z Razor Pages. Eliminuje to potrzebę korzystania z Interop, dzięki czemu eksport danych jest bardziej wydajny i łatwiejszy do wdrożenia.

Dlaczego programiści mieliby wybrać Razor i IronXL do zadań związanych z eksportem danych?

Programiści wybierają Razor i IronXL ze względu na ich łatwość obsługi, elastyczność i zaawansowane funkcje. Umożliwiają one płynną integrację funkcji eksportu danych z aplikacjami internetowymi, pozwalając na tworzenie dynamicznych, opartych na danych treści, które można bez wysiłku udostępniać.

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