IRONSOFTWAREHOME
KORZYSTANIE Z IRONXL

Jak zaimportować plik CSV do tabeli danych w języku C#

Curtis Chau
Curtis Chau
Updated: 21 kwietnia 2026

Witamy w tym tutorialu dla początkujących na temat importowania plików CSV (wartości oddzielone przecinkami) do DataTable w C# przy użyciu IronXL. Ten przewodnik zapewni ci podejście, które jest łatwe do śledzenia, gwarantując, że nawet jeżeli jesteś nowicjuszem w C#, znajdziesz ten proces prosty. Omówimy każdy krok, od ustawienia środowiska do napisania kodu źródłowego. Po ukończeniu tego tutorialu będziesz miał jasne rozumienie, jak konwertować dane CSV na DataTable, zarządzać kolumnami DataTable i obsługiwać różne aspekty dokumentów CSV w C# za pomocą czytnika plików oraz IronXL.

Wymagania wstępne

Zanim zaczniemy, upewnij się, że masz:

  • Podstawową wiedzę na temat C#
  • Zainstalowany Visual Studio na swoim komputerze lokalnym
  • Bibliotekę IronXL, którą można uzyskać za pośrednictwem menedżera pakietów NuGet

Zrozumienie podstaw

Czym jest plik CSV?

Plik CSV (plik wartości oddzielonych przecinkami) to rodzaj pliku tekstowego, który wykorzystuje określoną strukturę do układania danych tabelarycznych. Jest to powszechny format do wymiany danych, ponieważ CSV jest prosty, zwarty i działa na wielu platformach. W pliku CSV dane są oddzielone przecinkami, a każda nowa linia oznacza nowy wiersz, z nagłówkami kolumn często obecnymi w pierwszym wierszu.

Understanding DataTables in C#

DataTable jest częścią biblioteki ADO.NET w C# i reprezentuje pojedynczą tabelę danych w pamięci. Składa się z wierszy i kolumn, a każda kolumna może być innego typu danych. DataTable są bardzo elastyczne i mogą reprezentować dane w ustrukturyzowanym formacie, co czyni je idealnymi do obsługi danych z plików CSV.

Konfiguracja Projektu

Krok 1: Stwórz nowy projekt C#

  1. Otwórz program Visual Studio.
  2. Wybierz Plik > Nowy > Projekt.
  3. Wybierz aplikację konsolową C# lub aplikację Windows Forms i nadaj jej odpowiednią nazwę.

Krok 2: Zainstaluj IronXL

IronXL to potężna biblioteka, która pozwala na pracę z plikami Excel i CSV w języku C#. Aby z niego korzystać, należy zainstalować go za pomocą menedżera pakietów NuGet. W programie Visual Studio:

  1. Przejdź do Narzędzia > Menedżer pakietów NuGet > Zarządzaj pakietami NuGet dla rozwiązania.

  2. Wyszukaj IronXL.Excel.

    Jak zaimportować CSV do DataTable w C#: Rysunek 1 - IronXL

  3. Zainstaluj pakiet w swoim projekcie.

Wczytywanie plików CSV do tabel danych za pomocą IronXL

Krok 1: Skonfiguruj swoje środowisko

using IronXL;
using System.Data;

Te instrukcje using zawierają przestrzenie nazw niezbędne do wykonania naszego zadania.

Krok 2: Utwórz metodę importowania plików CSV

Zdefiniuj klasę CsvToDataTable z metodą statyczną ImportCsvToDataTable. Ta metoda będzie odpowiedzialna za konwersję pliku CSV do tabeli danych (DataTable).

public class CsvToDataTable
{
    public static DataTable ImportCsvToDataTable(string filePath)
    {
        // Code snippet to import CSV will be placed here
        return null; // Placeholder return statement
    }
}

Krok 3: Załaduj plik CSV

W metodzie ImportCsvToDataTable zacznij od załadowania pliku CSV. IronXL zapewnia prosty sposób na wykonanie tej czynności:

// Load the CSV file
WorkBook workbook = WorkBook.LoadCSV(filePath);

WorkBook.LoadCSV to metoda w bibliotece IronXL służąca do ładowania plików CSV. W tym przypadku filePath to ścieżka do pliku CSV.

Krok 4: Konwersja pliku CSV do tabeli danych

Przekonwertuj załadowane dane CSV do tabeli DataTable. Ten krok ma kluczowe znaczenie, ponieważ przekształca dane do formatu, który można łatwo przetwarzać i wyświetlać w aplikacji napisanej w języku C#.

// Get the first worksheet
WorkSheet sheet = workbook.DefaultWorkSheet;
// Convert CSV worksheet to DataTable
DataTable dataTable = sheet.ToDataTable();
return dataTable;

Ten fragment kodu konwertuje dane CSV na tabelę danych (DataTable). DefaultWorkSheet pobiera pierwszy arkusz z skoroszytu, co w przypadku pliku CSV odpowiada całości danych CSV. Metoda ToDataTable to potężna funkcja IronXL, która skutecznie mapuje dane CSV na strukturę DataTable, w tym wiersz nagłówków kolumn, jeśli występuje on w pierwszym wierszu pliku CSV.

Krok 5: Wykorzystaj tę metodę w swojej aplikacji

Teraz użyj metody ImportCsvToDataTable w swojej aplikacji. Na przykład możesz wywołać tę metodę podczas uruchamiania aplikacji lub gdy użytkownik prześle plik CSV.

// Usage
string csvFilePath = "csvfile.csv";
DataTable dataTable = CsvToDataTable.ImportCsvToDataTable(csvFilePath);

Ten fragment kodu pokazuje, jak wywołać metodę ImportCsvToDataTable. Zastąp "csvfile.csv" rzeczywistą ścieżką do pliku CSV.

Krok 6: Praca z tabelą wyników DataTable

Po uzyskaniu tabeli DataTable można wykonywać różne operacje, takie jak wyświetlanie danych w interfejsie użytkownika, filtrowanie lub przetwarzanie danych. Oto kilka przykładów:

Wyświetlanie danych w aplikacji konsolowej

foreach (DataRow row in dataTable.Rows)
{
    foreach (var item in row.ItemArray)
    {
        Console.Write($"{item} ");
    }
    Console.WriteLine();
}

Ten kod iteruje przez każdy wiersz i kolumnę w tabeli DataTable i PRINTuje dane w konsoli.

Filtrowanie danych

Możesz użyć LINQ do filtrowania danych w tabeli DataTable. Na przykład, jeśli chcesz wybrać wiersze, w których określona kolumna spełnia warunek:

var filteredRows = dataTable.AsEnumerable()
                            .Where(row => row.Field<string>("ColumnName") == "SomeValue");

Zastąp "ColumnName" i "SomeValue" nazwą kolumny i wartością, według której filtrujesz.

Pełny fragment kodu

Oto pełny kod źródłowy, który możesz wykorzystać w swoim projekcie:

using IronXL;
using System;
using System.Data;
using System.IO;

public class CsvToDataTable
{
    public static DataTable ImportCsvToDataTable(string filePath)
    {
        // Check if the file exists
        if (!File.Exists(filePath))
        {
            throw new FileNotFoundException($"The file at {filePath} was not found.");
        }

        // Load the CSV file
        WorkBook workbook = WorkBook.LoadCSV(filePath);
        // Get the first worksheet
        WorkSheet sheet = workbook.DefaultWorkSheet;
        // Convert the worksheet to DataTable
        DataTable dataTable = sheet.ToDataTable();
        return dataTable;
    }
}

class Program
{
    static void Main(string[] args)
    {
        // Usage
        try
        {
            string filePath = "sample_data.csv"; // CSV file path
            DataTable dataTable = CsvToDataTable.ImportCsvToDataTable(filePath);
            foreach (DataRow row in dataTable.Rows)
            {
                foreach (var item in row.ItemArray)
                {
                    Console.Write($"{item} ");
                }
                Console.WriteLine();
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"An error occurred: {ex.Message}");
        }
    }
}

Możesz użyć tego kodu w pliku Program.cs. Pamiętaj, aby dodać licencję IronXL, jeśli pracujesz w środowisku produkcyjnym.

Wynik kodu

Po uruchomieniu kodu zostanie załadowany plik CSV, a jego dane zostaną zaimportowane do tabeli DataTable. Następnie wyświetli zawartość kolumn tabeli DataTable w konsoli. Pomaga to zweryfikować, czy dane zostały poprawnie zaimportowane do tabeli DataTable.

Jak zaimportować CSV do DataTable w C#: Rysunek 2 - Wynik

Postępowanie w różnych sytuacjach

W rzeczywistych sytuacjach pliki CSV mogą znacznie różnić się pod względem formatu i struktury. Ważne jest, aby uwzględnić te różnice, aby zapewnić solidność i wszechstronność aplikacji. Przyjrzyjmy się bliżej, jak radzić sobie z różnymi scenariuszami podczas importowania danych CSV do tabeli DataTable przy użyciu IronXL.

Obsługa innego separatora

Przecinki są domyślnym separatorem w plikach CSV. Jednak pliki CSV nie zawsze używają przecinków do oddzielania wartości. Czasami jako separatory używane są średniki, tabulatory lub inne znaki. Aby to zrobić w IronXL:

Określanie niestandardowego separatora: Przed załadowaniem pliku CSV można określić separator pliku. Na przykład, jeśli plik zawiera średnik (;), można ustawić to w następujący sposób:

WorkBook workbook = WorkBook.LoadCSV(filePath, listDelimiter: ";");

Obsługa dużych plików CSV

W przypadku pracy z dużymi plikami CSV należy wziąć pod uwagę zużycie pamięci i wydajność. IronXL zapewnia wydajne sposoby obsługi dużych plików bez konieczności ładowania całego pliku do pamięci naraz. Plik można odczytywać fragmentami lub korzystać z interfejsów API strumieniowania udostępnianych przez IronXL w celu efektywnego zarządzania wykorzystaniem pamięci.

Wnioski

Importowanie danych CSV do tabeli DataTable przy użyciu IronXL w języku C# jest proste. Zwiększa możliwości aplikacji w zakresie przetwarzania danych, umożliwiając wydajną obsługę plików CSV. Dzięki krokom opisanym w tym samouczku początkujący mogą z łatwością zintegrować tę funkcjonalność ze swoimi projektami w języku C#.

IronXL oferuje bezpłatną wersję próbną, dzięki której użytkownicy mogą zapoznać się z jego funkcjami. Dla osób poszukujących bardziej zaawansowanych funkcji i wsparcia dostępne są opcje licencyjne.

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