KORZYSTANIE Z IRONXL

Jak konwertować DataSet do CSV w C#

Curtis Chau
Curtis Chau
Updated: 21 kwietnia 2026

W poniższym artykułe zostanie pokazane, jak przekonwertować zbiór danych C# na plik CSV.

IronXL to doskonałe rozwiązanie do pracy z arkuszami kalkulacyjnymi, zarówno w formacie CSV, jak i plikach Excel. IronXL jest darmowy do celów programistycznych, łatwy w użyciu i oferuje szeroki zakres funkcji do pracy z dowolnym rodzajem arkusza kalkulacyjnego. Jest bezpieczny i zapewnia wysoką wydajność. Zanim przejdziemy dalej, zapoznajmy się pokrótce z IronXL.

IronXL

IronXL to biblioteka firmy Iron Software, która umożliwia programistom C# odczytywanie, generowanie i edytowanie plików Excel (oraz innych arkuszy kalkulacyjnych) w aplikacjach .NET i na stronach internetowych.

IronXL to szybki i łatwy sposób na pracę z plikami Excel i innymi arkuszami kalkulacyjnymi w języku C# i środowisku .NET. IronXL dobrze współpracuje z .NET Framework, .NET Core i Azure bez konieczności korzystania z Office Excel Interop. IronXL nie wymaga również instalacji pakietu Microsoft Office ani żadnych innych podobnych zależności.

Przejdźmy do tworzenia i pisania kodu służącego do generowania pliku CSV dla zbioru danych.

Utwórz nowy projekt Visual Studio

Otwórz środowisko IDE Visual Studio; zalecana jest najnowsza wersja Visual Studio, ale możesz użyć dowolnej wersji zgodnie z własnymi preferencjami. Należy pamiętać, że kroki tworzenia nowego projektu mogą się różnić w zależności od wersji.

Jak przekonwertować zestaw danych na CSV w C#, Rysunek 1: okno startowe Visual Studio Okno startowe programu Visual Studio

Kliknij Utwórz nowy projekt. Pojawi się nowe okno, jak pokazano poniżej.

Jak przekonwertować zestaw danych na CSV w C#, Rysunek 2: Utwórz nowy projekt w Visual Studio Utwórz nowy projekt w Visual Studio

Wybierz preferowany szablon projektu z listy. Kliknij przycisk Dalej, a pojawi się nowe okno, jak pokazano poniżej.

Jak przekonwertować zestaw danych na CSV w C#, Rysunek 3: Skonfiguruj nowo utworzony projekt Skonfiguruj nowo utworzony projekt

Nadaj nazwę projektowi, wybierz jego lokalizację i naciśnij przycisk Dalej. Pojawi się nowe okno, jak pokazano poniżej.

Jak przekonwertować zestaw danych na CSV w C#, Rysunek 4: Wybierz wersję .NET Framework Wybierz wersję .NET Framework

Wybierz docelową platformę .NET Framework. Możesz wybrać dowolną wersję .NET Framework, która odpowiada Twoim potrzebom, ponieważ IronXL obsługuje wszystkie wersje .NET Framework. W tym samouczku zostanie użyty .NET 7. Kliknij przycisk Utwórz, a zostanie utworzony nowy projekt, jak pokazano poniżej.

Jak przekonwertować zestaw danych na CSV w C#, Rysunek 5: nowa aplikacja konsolowa w Visual Studio nowa aplikacja konsolowa w Visual Studio

Teraz zainstaluj pakiet IronXL NuGet, aby móc z niego korzystać w tej aplikacji.

Zainstaluj IronXL

Otwórz konsolę menedżera pakietów NuGet i wprowadź następujące polecenie.

PM > Install-Package IronXL.Excel

Pakiet NuGet zostanie zainstalowany i będzie gotowy do użycia, jak pokazano poniżej.

Jak przekonwertować zestaw danych na CSV w C#, Rysunek 6: Instalacja pakietu IronXL i jego zależności Instalacja pakietu IronXL i jego zależności

Teraz napiszmy kod, który przekształci zbiór danych w plik CSV w języku C#.

W tym przykładzie zostaną wprowadzone dane z bazy danych serwera SQL. Po pobraniu zbioru danych z bazy SQL utworzymy plik CSV na podstawie tych danych wejściowych.

Utwórz tabelę danych

Pierwszym krokiem jest pobranie danych z bazy SQL, ale można użyć dowolnego źródła danych.

W tym samouczku wykorzystano następujące dane:

Jak przekonwertować zestaw danych na CSV w C#, Rysunek 7: Utwórz nową bazę danych z przykładowymi danymi Utwórz nową bazę danych z przykładowymi danymi

Oto skrypt SQL służący do tworzenia przykładowych danych:

USE Test_DB;

CREATE TABLE STUDENT_DATA
(
    REG_NUM INT PRIMARY KEY,
    FIRST_NAME VARCHAR(30),
    LAST_NAME VARCHAR(30),
    CLASS VARCHAR(5),
    CONTACT_NUM VARCHAR(15)
);

INSERT INTO STUDENT_DATA
VALUES
(123, 'JHON', 'SMITH', '2', '(223) 444-1234'),
(124, 'THOMAS', 'CHARLES', '2', '(332) 555-1235'),
(125, 'WILLIAM', 'RICHARD', '2', '(432) 666-1236'),
(126, 'JAMES', 'BOND', '2', '(543) 777-1237'),
(127, 'CRISTOPHER', 'MICHAL', '2', '(555) 999-1238'),
(128, 'DONALD', 'MARK', '2', '(777) 888-1239');
SQL

Poniższy kod w języku C# służy do eksportowania tabeli danych do pliku CSV.

using System;
using System.Data;
using System.Data.SqlClient;
using IronXL;

class Program
{
    // Method to retrieve data from SQL database and return as DataTable
    public static DataTable GetData()
    {
        // Define connection string (modify accordingly for your local server)
        string connString = @"server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;";
        string query = "SELECT * FROM STUDENT_DATA";

        try
        {
            // Create SQL connection
            using SqlConnection conn = new SqlConnection(connString);
            // Create SQL command
            SqlCommand cmd = new SqlCommand(query, conn);
            conn.Open();
            // Create data adapter
            using SqlDataAdapter da = new SqlDataAdapter(cmd);
            // Query the database and return the result to a data table
            DataTable dt = new DataTable();
            da.Fill(dt);
            return dt;
        }
        catch (Exception ex)
        {
            Console.WriteLine($"An error occurred: {ex.Message}");
            throw;
        }
    }

    static void Main(string[] args)
    {
        // Retrieve data and store it in a DataTable
        DataTable table = GetData();

        // Create a new Workbook
        WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
        wb.Metadata.Author = "JOHN";

        // Use the default worksheet
        WorkSheet ws = wb.DefaultWorkSheet;
        int rowCount = 1;

        // Populate the worksheet with data from the DataTable
        foreach (DataRow row in table.Rows)
        {
            ws[$"A{rowCount}"].Value = row[0].ToString();
            ws[$"B{rowCount}"].Value = row[1].ToString();
            ws[$"C{rowCount}"].Value = row[2].ToString();
            ws[$"D{rowCount}"].Value = row[3].ToString();
            ws[$"E{rowCount}"].Value = row[4].ToString();
            rowCount++;
        }

        // Save the workbook as a CSV file
        wb.SaveAsCsv(@"D:\Tutorial Project\Save_DataTable_CSV.csv");
    }
}

Wyjaśnienie kodu

  • Metoda GetData() pobiera dane z bazy danych SQL Server i zwraca je jako DataTable.

  • W metodzie Main tworzony jest WorkBook przy użyciu IronXL, a następnie dane są wprowadzane do WorkSheet.

  • Pętla foreach iteruje przez wiersze DataTable, wstawiając każdą wartość w nowy wiersz w WorkSheet.

  • Na koniec, plik CSV jest zapisywany przy użyciu funkcji SaveAsCsv dostarczonej przez IronXL.

Wynik

Plik CSV wygenerowany przez ten program wygląda następująco:

Jak przekonwertować zestaw danych na CSV w C#, Rysunek 8: Plik wyjściowy CSV Plik wyjściowy CSV

Widać wyraźnie, że plik CSV został wygenerowany poprawnie i jest zgodny z podanymi danymi wejściowymi.

Podsumowanie

W tym artykułe pokazano, jak utworzyć plik CSV w języku C# na podstawie zbioru danych. Biblioteka może również odczytywać pliki CSV przy użyciu języka C#. Zbiór danych z bazy danych SQL Server jest wypełniany i tworzy plik CSV w trzech krokach:

  1. Pobieranie danych z serwera SQL.
  2. Wprowadź dane do tabeli danych.
  3. Utwórz plik CSV na podstawie tej tabeli danych.

Jak pokazano powyżej, tworzenie plików CSV w .NET 7 za pomocą IronXL jest bardzo proste. Wydajność programu jest wyjątkowa, ponieważ został on napisany w .NET 7 z wykorzystaniem IronXL. IronXL oferuje inne przydatne funkcje, takie jak tworzenie, odczytywanie i edycja plików Excel. Więcej szczegółów można znaleźć w oficjalnej dokumentacji.

Ponadto IronPDF oferuje programistom metody renderowania dokumentów PDF na obrazy oraz wyodrębniania tekstu i treści z plików PDF. Ponadto IronPDF umożliwia również renderowanie wykresów w plikach PDF, dodawanie BARCODE-ów oraz programowe zwiększanie bezpieczeństwa za pomocą haseł.

Bezpłatna wersja IronXL służy do celów programistycznych. Aby wdrożyć aplikację w środowisku produkcyjnym, należy pobrać bezpłatną wersję próbną lub nabyć licencję komercyjną. IronXL jest częścią pakietu Iron Suite, który składa się z pięciu bibliotek:

  1. IronXL, który jest dzisiaj omawiany.
  2. IronPDF do generowania, odczytu i edycji plików PDF
  3. IronOCR do wyodrębniania tekstu z obrazów
  4. IronBarcode do odczytu i generowania kodów kreskowych
  5. IronWebScraper do pozyskiwania danych strukturalnych ze stron internetowych.

Wszystkie te produkty można nabyć w cenie dwóch, jeśli zostaną zakupione razem.

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

Czytaj więcej

Powiązane artykuły