Przejdź do treści stopki
KORZYSTANIE Z IRONXL

Jak wyeksportować do pliku CSV w .NET Core

1.0 Wprowadzenie

W niniejszym artykułe wykorzystamy jedną z najbardziej znanych bibliotek, IronXL, aby zestawić i porównać różne sposoby programowego łączenia technologii .NET z dokumentami Microsoft Excel. Stworzy również środowisko do odczytu, zapisu i eksportowania arkuszy kalkulacyjnych Excel do plików CSV.

2.0 IronXL

IronXL for .NET, biblioteka C# dla programu Excel, może służyć do odczytu i konwersji dokumentów Microsoft Excel do plików CSV. IronXL to samodzielna biblioteka oprogramowania .NET, z której można korzystać bez instalowania pakietu Microsoft Office lub Microsoft.Office.Interop.Excel. Obsługuje wiele formatów arkuszy kalkulacyjnych.

Arkusze kalkulacyjne Excel można z łatwością odczytywać, edytować i generować w środowisku .NET dzięki prostemu interfejsowi API C# biblioteki IronXL. Xamarin, Linux, macOS, Azure, .NET Core i .NET Framework są w pełni obsługiwane przez IronXL.

2.1 Funkcje biblioteki IronXL

  • Jedną z najlepszych bibliotek C# do obsługi arkuszy kalkulacyjnych Excel jest IronXL, która działa zarówno z .NET Core, jak i .NET Framework.
  • IronXL obsługuje praktycznie wszystkie wersje .NET Framework, w tym aplikacje konsolowe, Windows Forms i aplikacje internetowe.
  • Systemy Windows, macOS i Linux są kompatybilne z IronXL.
  • Dzięki IronXL można szybko i łatwo uzyskać dostęp do plików Excel.
  • Formaty plików Excel, takie jak pliki XLSX, CSV, XLS, XSLT, TSV, XLSM i inne, mogą być odczytywane przez IronXL. Wśród wielu możliwości znajdują się funkcje importowania, aktualizowania i eksportowania zbiorów danych oraz tabel danych.
  • Obliczenia dla arkusza kalkulacyjnego Excel mogą być generowane przez IronXL.
  • W przypadku kolumn w Excelu IronXL obsługuje szeroki zakres typów danych, takich jak tekst, liczby całkowite, daty, waluty, formuły i wartości procentowe.
  • IronXL obsługuje daty, waluty, wartości procentowe, tekst, liczby, formuły oraz inne typy danych występujące w kolumnach arkusza kalkulacyjnego Excel.

3.0 Tworzenie projektu .NET Core 6

W kolejnych sekcjach tego biuletynu zobaczysz, jak łatwo jest utworzyć plik CSV przy użyciu biblioteki IronXL.

Krok 1: Utwórz nowy projekt w celu wygenerowania pliku CSV.

Otwórz program Visual Studio i wybierz opcję "Nowy projekt" z menu "Plik".

W wyświetlonym oknie dialogowym wybierz szablony projektu .NET "Console App", a następnie kliknij "Dalej".

Jak eksportować do pliku CSV w .NET Core, rysunek 1: Utwórz nową aplikację konsolową w Visual Studio Utwórz nową aplikację konsolową w Visual Studio

W polu "Nazwa projektu" można wpisać dowolną nazwę. Po podaniu lokalizacji nowego projektu w sekcji "Lokalizacja" kliknij przycisk Dalej, aby kontynuować.

Jak wyeksportować do pliku CSV w .NET Core, rysunek 2: Konfiguracja nowego projektu Skonfiguruj nowy projekt

Menu rozwijane Framework służy do wyboru platformy .NET Framework. W tym przypadku wersją .NET z długoterminowym wsparciem jest 6.0. Następnie kliknij przycisk Utwórz.

Jak eksportować do pliku CSV w .NET Core, rysunek 3: Wybór docelowej platformy .NET Framework Wybór docelowej platformy .NET Framework

Zainstaluj bibliotekę IronXL, ponieważ jest ona niezbędna do dalszego działania. Aby to zrobić, wpisz następujące polecenie w konsoli menedżera pakietów:

Install-Package IronXl.Excel

Jak eksportować do pliku CSV w .NET Core, rysunek 4: Zainstaluj pakiet IronXL Zainstaluj pakiet IronXL

Alternatywą jest wyszukanie pakietu "IronXL" za pomocą menedżera pakietów NuGet. W zakładce Przeglądaj wpisz "IronXL" w polu wyszukiwania, aby znaleźć bibliotekę IronXL. Z poniższej listy wszystkich pakietów NuGet związanych z IronXL wybierz pakiet, który chcesz pobrać.

Jak eksportować do pliku CSV w .NET Core, rysunek 5: Wyszukaj i zainstaluj pakiet IronXL w interfejsie użytkownika menedżera pakietów NuGet Wyszukaj i zainstaluj pakiet IronXL w interfejsie użytkownika NuGet Package Manager

4.0 Eksport danych do pliku CSV

Dzięki IronXL tworzenie tabel danych w plikach CSV jest proste i szybkie. Ułatwia zapisywanie danych do nowego pliku CSV. Pierwszym krokiem jest dołączenie przestrzeni nazw IronXL, jak widać na poniższym zrzucie ekranu z kodem. Po przedstawieniu IronXL jego klasy i metody mogą być wykorzystywane w kodzie.

Jak eksportować do pliku CSV w .NET Core, rysunek 6: Dołącz przestrzeń nazw IronXL Uwzględnij przestrzeń nazw IronXL

IronXL może służyć do tworzenia plików Excel, które są następnie konwertowane na obiekty WorkBook. Po przekształceniu ich w obiekty klasy WorkBook można na nich pracować na kilka sposobów. Przekształcając DataTable w arkusz Excel, poniższy przykładowy kod źródłowy tworzy plik Excel.

using IronXL;
using System.Data;

class Program
{
    static void Main(string[] args)
    {
        ExportToExcel("test.csv");
    }

    // Method to export a DataTable to an Excel sheet which is then saved as a CSV file
    public static void ExportToExcel(string filepath)
    {
        // Create a DataTable and add columns & rows
        DataTable table = new DataTable();
        table.Columns.Add("DataSet_Animals", typeof(string));
        table.Rows.Add("Lion");
        table.Rows.Add("Tiger");
        table.Rows.Add("Leopard");
        table.Rows.Add("Cheetah");
        table.Rows.Add("Hyenas");

        // Create a new workbook and get the default worksheet
        var workbook = WorkBook.Create(ExcelFileFormat.XLS);
        var worksheet = workbook.DefaultWorkSheet;

        // Add table data to worksheet
        int rowCount = 1;
        foreach (DataRow row in table.Rows)
        {
            worksheet["A" + rowCount].Value = row[0].ToString();
            rowCount++;
        }

        // Save worksheet data to a CSV file
        workbook.SaveAsCsv(filepath, ";");

        // Optionally convert workbook to a stream, useful for web applications
        var stream = workbook.ToStream();
    }
}
using IronXL;
using System.Data;

class Program
{
    static void Main(string[] args)
    {
        ExportToExcel("test.csv");
    }

    // Method to export a DataTable to an Excel sheet which is then saved as a CSV file
    public static void ExportToExcel(string filepath)
    {
        // Create a DataTable and add columns & rows
        DataTable table = new DataTable();
        table.Columns.Add("DataSet_Animals", typeof(string));
        table.Rows.Add("Lion");
        table.Rows.Add("Tiger");
        table.Rows.Add("Leopard");
        table.Rows.Add("Cheetah");
        table.Rows.Add("Hyenas");

        // Create a new workbook and get the default worksheet
        var workbook = WorkBook.Create(ExcelFileFormat.XLS);
        var worksheet = workbook.DefaultWorkSheet;

        // Add table data to worksheet
        int rowCount = 1;
        foreach (DataRow row in table.Rows)
        {
            worksheet["A" + rowCount].Value = row[0].ToString();
            rowCount++;
        }

        // Save worksheet data to a CSV file
        workbook.SaveAsCsv(filepath, ";");

        // Optionally convert workbook to a stream, useful for web applications
        var stream = workbook.ToStream();
    }
}
Imports IronXL
Imports System.Data

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		ExportToExcel("test.csv")
	End Sub

	' Method to export a DataTable to an Excel sheet which is then saved as a CSV file
	Public Shared Sub ExportToExcel(ByVal filepath As String)
		' Create a DataTable and add columns & rows
		Dim table As New DataTable()
		table.Columns.Add("DataSet_Animals", GetType(String))
		table.Rows.Add("Lion")
		table.Rows.Add("Tiger")
		table.Rows.Add("Leopard")
		table.Rows.Add("Cheetah")
		table.Rows.Add("Hyenas")

		' Create a new workbook and get the default worksheet
		Dim workbook = WorkBook.Create(ExcelFileFormat.XLS)
		Dim worksheet = workbook.DefaultWorkSheet

		' Add table data to worksheet
		Dim rowCount As Integer = 1
		For Each row As DataRow In table.Rows
			worksheet("A" & rowCount).Value = row(0).ToString()
			rowCount += 1
		Next row

		' Save worksheet data to a CSV file
		workbook.SaveAsCsv(filepath, ";")

		' Optionally convert workbook to a stream, useful for web applications
		Dim stream = workbook.ToStream()
	End Sub
End Class
$vbLabelText   $csharpLabel

Powyższy przykład pliku CSV pokazuje, jak wyeksportować DataTable do pliku CSV. Po utworzeniu DataTable, tj. po utworzeniu nagłówków kolumn, a także po utworzeniu pierwszej kolumny, wiersze są dodawane pojedynczo. Po dodaniu wierszy i kolumn do obiektu DataTable tworzony jest obiekt WorkBook. Obiekt WorkBook służy do dodawania danych do arkusza Excel, które następnie można zapisać w innym miejscu. Kolejnym krokiem jest zainicjowanie obiektu WorkSheet, który jest powiązany z obiektem skoroszytu.

Przed dodaniem wartości do arkusza kalkulacyjnego używana jest pętla foreach do odczytania każdej wartości z DataTable. Funkcja SaveAsCsv służy do zapisywania danych w pliku CSV po umieszczeniu ich wszystkich w arkuszu, wykorzystując nazwę pliku jako parametr. W razie potrzeby jako opcjonalny argument można użyć separatora. Biblioteka pomaga następnie w zapisywaniu danych do pliku CSV. Oprócz programu Microsoft Excel istnieje inny sposób odczytu plików CSV przy użyciu Notatnika. Ponadto metoda Save służy do zapisania tego samego w podanym formacie pliku.

Jak wyeksportować do pliku CSV w .NET Core, rysunek 7: Plik wyjściowy Excel test.csv WYNIK Plik Excel test.csv

Powyżej znajduje się wynik działania uruchomionego fragmentu kodu. Każda informacja z tabeli danych została osobno dodana do nowo utworzonego arkusza Excel widocznego na zrzucie ekranu. Alternatywnie można je również przekształcić w strumień w ramach aplikacji internetowej, aby zwrócić pliki, które można pobrać po stronie klienta.

Aby uzyskać więcej informacji na temat eksportowania danych z DataTable do Excela, zapoznaj się z tą stroną samouczka.

Aby dowiedzieć się więcej o eksportowaniu danych do programu Excel, zapoznaj się z tym samouczkiem krok po kroku.

5.0 Podsumowanie

IronXL jest jednym z najczęściej używanych narzędzi do obsługi programu Excel. Nie jest zależny od żadnych innych bibliotek zewnętrznych. Jest to samodzielna aplikacja i nie wymaga zainstalowanego programu Microsoft Excel. Ponadto działa on za pośrednictwem różnych kanałów.

W przypadku wszystkich operacji związanych z dokumentami Microsoft Excel realizowanych programowo, IronXL oferuje kompleksowe rozwiązanie. Możliwe jest obliczanie formuł, sortowanie ciągów znaków lub liczb, przycinanie, dołączanie, wyszukiwanie i zamiana, scałanie i rozdzielanie, zapisywanie plików i wiele więcej. Oprócz sprawdzania poprawności danych w arkuszu kalkulacyjnym można również określać typy danych komórek. Ułatwia to pracę z danymi programu Excel oraz umożliwia odczyt i zapis plików.

IronXL oferuje bezpłatną licencję probną, która pozwala użytkownikom wypróbować i przetestować wszystkie jego niesamowite funkcje za darmo.

W momencie premiery IronXL jest dostępny dla $799. Użytkownicy mogą również zdecydować się na opłacenie rocznej subskrypcji, aby otrzymywać aktualizacje i wsparcie techniczne dotyczące produktu. IronXL zapewnia bezpieczeństwo nieograniczonej redystrybucji za dodatkową opłatą. Aby uzyskać dokładniejsze informacje na temat cen, odwiedź stronę licencji IronXL.

Często Zadawane Pytania

Jak mogę wyeksportować dane do pliku CSV przy użyciu .NET Core?

W aplikacji .NET Core można eksportować dane do pliku CSV za pomocą IronXL. Najpierw należy utworzyć nowy projekt .NET Core w Visual Studio, zainstalować IronXL za pośrednictwem NuGet, a następnie użyć obiektów WorkBook i WorkSheet do zapisania danych jako pliku CSV za pomocą metody SaveAsCsv.

Czy można odczytywać i zapisywać pliki Excel bez pakietu Microsoft Office?

Tak, IronXL umożliwia odczyt i zapis plików Excel bez konieczności korzystania z pakietu Microsoft Office lub biblioteki Microsoft.Office.Interop.Excel. Stanowi samodzielne rozwiązanie do zarządzania arkuszami kalkulacyjnymi Excel w aplikacjach .NET.

Jakie są zalety korzystania z IronXL do eksportu plików CSV w .NET Core?

IronXL zapewnia prosty i wydajny sposób obsługi eksportu plików CSV w .NET Core. Obsługuje wiele platform, nie wymaga pakietu Microsoft Office i oferuje takie funkcje, jak obliczenia formuł, sortowanie danych oraz obsługa dużych zbiorów danych.

Jak zainstalować IronXL w projekcie .NET Core?

Aby zainstalować IronXL w projekcie .NET Core, można użyć konsoli menedżera pakietów (Package Manager Console) z poleceniem Install-Package IronXL lub skorzystać z interfejsu użytkownika menedżera pakietów NuGet w Visual Studio, aby wyszukać i zainstalować „IronXL”.

Czy mogę używać IronXL na platformach innych niż Windows?

Tak, IronXL jest kompatybilny z wieloma platformami, w tym Windows, macOS i Linux. Obsługuje również aplikacje Xamarin, Azure, .NET Core i .NET Framework, co czyni go wszechstronnym rozwiązaniem dla różnych środowisk.

Jak radzić sobie z dużymi zbiorami danych w Excelu za pomocą IronXL?

IronXL może efektywnie obsługiwać duże zbiory danych w Excelu, wykorzystując swoje solidne API w języku C#. Umożliwia szybką manipulację danymi, obsługuje różne formaty Excel i zapewnia funkcje takie jak sortowanie i walidacja danych.

Czy IronXL obsługuje obliczenia formuł w Excelu?

Tak, IronXL obsługuje obliczenia formuł Excel. Za pomocą API IronXL można wykonywać złożone obliczenia na danych arkusza kalkulacyjnego, podobnie jak w programie Excel.

Czy dostępne są opcje licencyjne dla IronXL?

IronXL oferuje bezplatną licencję probną do testowania swoich funkcji, a także różne opcje licencyjne zapewniające pełną funkcjonalność. Zapewnia to programistom elastyczność w wyborze planu dostosowanego do ich potrzeb.

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