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 plików CSV w języku C# przy użyciu 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 spełnieniu wymagań wstępnych następnym krokiem jest dodanie przestrzeni nazw IronXL na początku kodu źródłowego w pliku main.cs:
using IronXL;
using IronXL;
Imports IronXL
Otwó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. W tym przypadku do otwarcia pliku CSV używana jest klasa WorkBook wraz z jej metodą LoadCSV. 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.
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 pobierz domyślny arkusz 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.
WorkSheet ws = csv.DefaultWorkSheet;
' Retrieve the default worksheet from the loaded workbook.
Dim ws As WorkSheet = csv.DefaultWorkSheet
Aby uzyskać więcej informacji na temat pracy z arkuszami programu Excel, odwiedź tę stronę z przykładami kodu.
Odczyt danych CSV przy użyciu 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 na tabelę za pomocą 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.
DataTable dt = ws.ToDataTable(true);
' Convert the worksheet data to a DataTable.
Dim dt As DataTable = ws.ToDataTable(True)
Rozpocznij odczytywanie danych CSV
Teraz przejdź przez 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.
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 row
W powyższym kodzie pętla foreach służy do pobrania pojedynczego rekordu 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 służy do tworzenia eleganckiego czytnika plików CSV i formatowania danych wyjściowych tak, aby odpowiadały oryginalnemu plikówi.
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 konieczności korzystania z aplikacji innych firm. 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 w celu wykorzystania komercyjnego należy zakupić licencję, której cena zaczyna się od $799. 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.
Często Zadawane Pytania
Jak stworzyć czytnik plików CSV w języku C# bez użycia Interop?
Możesz stworzyć czytnik plików CSV w języku C# bez użycia Interop, korzystając z biblioteki IronXL. Najpierw zainstaluj IronXL za pomocą NuGet lub pobierz bibliotekę DLL .NET Excel ze strony internetowej IronXL. Dodaj przestrzeń nazw IronXL do swojego kodu i użyj metody WorkBook.LoadCSV, aby załadować plik CSV, co pozwoli Ci na manipulowanie nim tak, jakby był to skoroszyt programu Excel.
Jakie są zalety korzystania z IronXL do operacji na plikach CSV w języku C#?
IronXL zapewnia potężne i elastyczne rozwiązanie do obsługi operacji CSV w języku C#. Pozwala programistom na ładowanie, odczytywanie i konwertowanie plików CSV do formatu Excel bez konieczności korzystania z programu Microsoft Excel lub Interop, dzięki czemu jest kompatybilny z różnymi platformami, takimi jak Linux, MacOS oraz usługami chmurowymi, takimi jak Azure i AWS.
Jak przekonwertować dane CSV do formatu Excel za pomocą IronXL?
Aby przekonwertować dane CSV do formatu Excel za pomocą IronXL, należy załadować plik CSV za pomocą metody WorkBook.LoadCSV, a następnie zapisać go za pomocą metody WorkBook.SaveAs, określając żądany format Excel, taki jak XLSX.
Czy można wczytać dane CSV do tabeli DataTable w języku C# przy użyciu biblioteki IronXL?
Tak, można wczytać dane CSV do tabeli danych (DataTable) w języku C# przy użyciu biblioteki IronXL. Należy załadować plik CSV jako skoroszyt, przejść do domyślnego arkusza i użyć metody Range.ToDataTable, aby przekonwertować dane arkusza na tabelę danych (DataTable), co ułatwi ich przetwarzanie i iterację.
Jakie platformy są kompatybilne z biblioteką IronXL?
Biblioteka IronXL jest kompatybilna z wieloma platformami, w tym Windows, Linux, MacOS, Azure, Docker i AWS. Ta wieloplatformowa obsługa sprawia, że jest to wszechstronny wybór dla programistów pracujących w różnorodnych środowiskach.
Czy IronXL może być wykorzystywany w projektach komercyjnych?
Tak, IronXL może być wykorzystywany w projektach komercyjnych. Chociaż oferuje bezpłatną wersję próbną do celów programistycznych i testowych, do użytku produkcyjnego wymagana jest licencja komercyjna. Licencja ta zapewnia dostęp do pełnego zakresu funkcji i wsparcia technicznego.
W jaki sposób IronXL usprawnia przetwarzanie danych CSV w aplikacjach napisanych w języku C#?
IronXL usprawnia przetwarzanie danych CSV w aplikacjach C#, umożliwiając programistom ładowanie i edycję plików CSV bez konieczności korzystania z programu Microsoft Excel. Zapewnia metody konwersji między formatami CSV i Excel, dzięki czemu obsługa danych staje się bardziej elastyczna i wydajna.




