IRONSOFTWAREHOME
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');
Text

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
Autor tekstów technicznych

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

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta