
Jak czytać plik CSV w C#
W tym artykułe omówimy, jak stworzyć czytnik plików CSV w języku C# przy użyciu biblioteki IronXL.
IronXL — biblioteka IronXL
IronXL to potężna biblioteka IronXL, która zapewnia programistom C# możliwość tworzenia, ładowania, odczytywania i edytowania arkuszy kalkulacyjnych Excel w różnych formatach. Zaprojektowany specjalnie dla platformy .NET, IronXL stawia na szybkość, dokładność i łatwość użytkowania. Umożliwia zapisywanie plików Excel w różnych formatach oraz wczytywanie różnych formatów arkuszy kalkulacyjnych do programu Excel w celu wydajnego odczytu danych.
IronXL obsługuje formaty skoroszytów Excel z różnymi rozszerzeniami plików, w tym CSV i TSV, XLS i XLSX, XSLT oraz XLSM. Jest kompatybilny z najnowszą wersją .NET Framework, a także ze wszystkimi poprzednimi wersjami do 2.0. IronXL może być używany na różnych platformach, w tym Linux, MacOS, Azure, Docker i AWS.
Jak stworzyć czytnik CSV w C# używając IronXL?
Wymagania wstępne
Aby przekonwertować dane z pliku CSV do pliku Excel i odczytać je w języku C#, potrzebujemy następujących narzędzi:
- Visual Studio: to niezbędne zintegrowane środowisko programistyczne (IDE) do pracy nad aplikacjami C# .NET. Jest to oficjalne i zalecane środowisko IDE do tworzenia aplikacji w języku C#. Można je pobrać i zainstalować ze strony internetowej firmy Microsoft. Jednakże, jeśli programista sobie tego życzy, można również używać innych środowisk IDE obsługujących język C#.
- Utwórz aplikację konsolową: Wykonaj poniższe kroki, aby utworzyć prostą aplikację konsolową.
-
Otwórz program Visual Studio i kliknij "Utwórz projekt".
Okno nowego projektu -
Wybierz "Aplikacja konsolowa" z listy dostępnych opcji. Upewnij się, że wybranym językiem jest C#.
Utwórz nową aplikację konsolową -
Następnie nadaj projektowi dowolną nazwę.
Konfiguracja -
Kolejnym krokiem w konfiguracji projektu jest wybór platformy .NET Framework. Najnowsza dostępna wersja to .NET 7.0, która jest obsługiwana w standardowym terminie. Aby jednak uniknąć potencjalnych błędów, można zdecydować się na bardziej stabilną wersję .NET 6.0, ponieważ Microsoft zapewnia dla niej długoterminowe wsparcie. Ważne jest, aby wybrać odpowiednią wersję w oparciu o konkretne wymagania.
-
- Biblioteka IronXL — jest to biblioteka IronXL for .NET dla programu Excel, zaprojektowana do pracy z arkuszami kalkulacyjnymi Excel. Przed użyciem należy zainstalować go w aplikacji C#. Pakiet można pobrać i zainstalować z wielu źródeł:
- NuGet — menedżer pakietów dla platformy .NET. IronXL można pobrać bezpośrednio ze strony NuGet.
- Menedżer pakietów NuGet w Visual Studio: Otwórz Menedżera pakietów, przechodząc do menu Narzędzia > Menedżer pakietów NuGet > Zarządzaj pakietami dla rozwiązania...
- Pobierz plik ZIP IronXL.Excel .NET DLL bezpośrednio ze strony internetowej Iron i dodaj go do rozwiązania projektu jako odwołanie projektowe.
Dodaj przestrzeń nazw IronXL
Po uzyskaniu wymaganych zasobów, następnym krokiem jest dodanie przestrzeni nazw IronXL na początku kodu źródłowego w pliku main.cs:
using IronXL;Imports IronXLOtwórz istniejący plik CSV
IronXL zapewnia łatwy sposób odczytu plików CSV w języku C#. Najpierw otwórz plik CSV do odczytu. Jest to typ pliku oparty na wierszach i kolumnach. Tutaj używana jest klasa WorkBook wraz z metodą LoadCSV do otwarcia pliku CSV. Kod wygląda następująco:
// Load the CSV file and convert it to XLSX format.
var csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");' Load the CSV file and convert it to XLSX format.
Dim csv = WorkBook.LoadCSV("color_srgb.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")Metoda LoadCSV w IronXL pozwala otworzyć plik CSV i przekonwertować go do formatu XLSX. Ta metoda udostępnia opcje określania separatora listy używanego w pliku CSV. W tym przykładzie używany jest domyślny separator, którym jest przecinek. Powstały plik jest otwierany i może być dalej przetwarzany przy użyciu funkcji IronXL do odczytu i manipulacji arkuszami kalkulacyjnymi Excel.
Plik CSV
Pobierz arkusz roboczy z klasy CSV Reader
W poprzednim kroku plik CSV został otwarty jako skoroszyt programu Excel przy użyciu biblioteki IronXL. Teraz uzyskaj domyślny arkusz roboczy z skoroszytu, używając klasy WorkSheet. Poniższy przykład pokazuje, jak uzyskać arkusz do odczytu danych CSV:
// Retrieve the default worksheet from the loaded workbook.
WorkSheet ws = csv.DefaultWorkSheet;' Retrieve the default worksheet from the loaded workbook.
Dim ws As WorkSheet = csv.DefaultWorkSheetAby uzyskać więcej informacji na temat pracy z arkuszami programu Excel, odwiedź tę stronę z przykładami kodu.
Czytaj dane CSV używając C# DataTable
Po pomyślnym załadowaniu pliku CSV i udostępnieniu danych w postaci arkusza, dane można bardzo łatwo odczytać z pliku CSV w tabeli danych C# DataTable.
Konwersja arkusza do tabeli danych
Najpierw utwórz instancję DataTable i przekonwertuj dane arkusza do tabeli, używając metody ToDataTable. Poniższy kod pomaga w realizacji tego zadania:
// Convert the worksheet data to a DataTable.
DataTable dt = ws.ToDataTable(true);' Convert the worksheet data to a DataTable.
Dim dt As DataTable = ws.ToDataTable(True)Rozpocznij odczytywanie danych CSV
Teraz iteruj wszystkie rekordy, używając instancji DataTable. Dane są otrzymywane w postaci wierszy i kolumn. Najpierw, a następnie przejdź przez każdą kolumnę, aby uzyskać jej wartość. Aby pobrać wszystkie rekordy wraz z wierszem nagłówkowym, użyj poniższego fragmentu kodu:
// Iterate over each row in the DataTable.
foreach (DataRow row in dt.Rows)
{
// Iterate over each column in the current row.
for (int i = 0; i < dt.Columns.Count; i++)
{
// Print each column value in the current row.
Console.Write(row[i] + " ");
}
// Move to the next line after printing all columns of the current row.
Console.WriteLine();
}' Iterate over each row in the DataTable.
For Each row As DataRow In dt.Rows
' Iterate over each column in the current row.
For i As Integer = 0 To dt.Columns.Count - 1
' Print each column value in the current row.
Console.Write(row(i) & " ")
Next i
' Move to the next line after printing all columns of the current row.
Console.WriteLine()
Next rowW powyższym kodzie użyto pętli foreach, aby uzyskać pojedynczy rekord z kolekcji wierszy. Następnie w zagnieżdżonej pętli for zliczana jest liczba kolumn, a na koniec dane z każdego wiersza są wyświetlane na ekranie za pomocą komendy PRINT. Wynik jest sformatowany podobnie do pliku CSV.
Wynik
Podsumowanie
W tym artykułe pokazano, jak stworzyć czytnik plików CSV w języku C# przy użyciu biblioteki IronXL. Ładowanie plików CSV jest łatwe dzięki IronXL, ponieważ obsługuje on format CSV w arkuszach kalkulacyjnych Excel. Obiekt DataTable jest używany do tworzenia eleganckiego czytnika CSV i formatowania wyników zgodnie z oryginalnym plikiem.
IronXL zapewnia również wygodną konwersję między różnymi formatami plików i umożliwia tworzenie plików Excel od podstaw bez konieczności instalowania Interop i Microsoft Excel. Jest również kompatybilny z C# DataSet i DataTable, zapewniając programistom elastyczność w konwersji danych bez polegania na aplikacjach firm trzecich. Dzięki swoim zaawansowanym funkcjom IronXL jest cennym narzędziem dla programistów C# do pracy z arkuszami kalkulacyjnymi Excel i wydajnego przetwarzania danych CSV.
IronXL jest bezpłatny do celów programistycznych. Jednak do użytku komercyjnego należy zakupić licencję zaczynającą się od $999. Możesz również skorzystać z bezpłatnej wersji próbnej, aby przetestować kompilowaną bibliotekę .dll pod kątem zgodności z Twoim projektem w trybie produkcyjnym.

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.
Powiązane artykuły



