C# Parser CSV (Krok po kroku) Samouczek
IronXL umożliwia parsowanie i konwersję plików CSV do/z formatów Excel w języku C# za pomocą zaledwie dwóch wierszy kodu. Ten samouczek pokazuje, jak konwertować pliki XLSX, XLS i TSV do formatu CSV przy użyciu prostego interfejsu API biblioteki IronXL, eliminując potrzebę stosowania skomplikówanego kodu do ręcznego parsowania. Biblioteka wewnętrznie obsługuje wszystkie skomplikówane szczegóły związane z konwersją formatów plików, dzięki czemu idealnie nadaje się dla programistów, którzy potrzebują szybkiego i niezawodnego parsowania plików CSV bez konieczności pisania rozbudowanego kodu.
Czy kiedykolwiek utknąłeś, próbując przetworzyć pliki CSV i przekonwertować je do formatu XLSX lub pliki XLSX do formatu CSV w ramach ważnego zadania w środowisku .NET, ale nie mogłeś wymyślić, jak to zrobić bez pisania mnóstwa kodu?
Istnieje wiele bibliotek CSV, które rozwiązują ten problem. Jednak w tym samouczku do wykonania tych zadań przy użyciu zaledwie dwóch wierszy kodu zostanie wykorzystana biblioteka IronXL C# Excel Library. W przeciwieństwie do tradycyjnych metod, które wymagają ręcznego analizowania separatorów i obsługi przypadków skrajnych, IronXL zapewnia solidne, przetestowane rozwiązanie, które działa na różnych platformach, w tym Windows, Linux i macOS.
Aby rozpocząć, wystarczy Visual Studio. Postępuj zgodnie z poniższymi instrukcjami, aby uzyskać szczegółowe informacje na temat instalacji. Ten samouczek jest przeznaczony dla programistów posiadających podstawową wiedzę na temat języka C#, którzy chcą pracować z plikami Excel bez zależności Interop.
Jak utworzyć nowy projekt w Visual Studio?
Otwórz edytor Visual Studio.
Przejdź do menu Plik w programie Visual Studio. Wybierz "Nowy projekt", a następnie wybierz Aplikacja konsolowa. W ten sposób powstaje prosta struktura projektu, idealna do nauki tworzenia i edycji plików Excel.
Wpisz nazwę projektu i wybierz jego lokalizację. Następnie kliknij przycisk Utwórz, aby utworzyć projekt. Wybierz wymagańy .NET Framework, jak pokazano na poniższym zrzucie ekranu:
Rysunek 1: Skonfiguruj nowy projekt aplikacji konsolowej C# w programie Visual Studio z wykorzystaniem .NET Framework 4.7.2
Plik program.cs zostanie otwarty, abyś mógł wprowadzić logikę oraz utworzyć i uruchomić aplikację. W tym miejscu dodamy nasz kod parsujący pliki CSV przy użyciu prostego interfejsu API IronXL.
Jak zainstalować bibliotekę IronXL C#?
Bibliotekę IronXL można pobrać i zainstalować na wiele różnych sposobów. Dzisiaj skupimy się na dwóch metodach, które są najczęściej stosowane w profesjonalnych środowiskach programistycznych:
- Korzystanie z menedżera pakietów NuGet w Visual Studio
- Korzystanie z wiersza poleceń programu Visual Studio
Obie metody są równie skuteczne, a wybór zależy od tego, czy wolisz interfejs graficzny, czy narzędzia wiersza poleceń. Szczegółowe instrukcje dotyczące instalacji w różnych środowiskach można znaleźć w oficjalnej dokumentacji.
Czy powinienem korzystać z menedżera pakietów NuGet w Visual Studio?
Interfejs użytkownika menedżera pakietów NuGet jest dostępny w programie Visual Studio i umożliwia bezpośrednią instalację pakietu w projekcie. Ta metoda jest szczególnie przydatna dla programistów, którzy preferują interfejsy wizualne i chcą zapoznać się ze szczegółami pakietu przed instalacją. Poniższy zrzut ekranu pokazuje, jak to otworzyć.
Access the NuGet Package Manager in Visual Studio by navigating to Tools > NuGet Package Manager > Manage NuGet Packages for Solution
Interfejs użytkownika menedżera pakietów udostępnia funkcję przeglądania, która wyświetla listę bibliotek pakietów dostępnych na stronie internetowej NuGet. Wpisz "IronXL", jak pokazano na poniższym zrzucie ekranu, aby znaleźć pakiet IronXL. Możesz również zapoznać się z powiązanymi funkcjami manipulacji danymi w Excelu, które oferuje IronXL.
Menedżer pakietów NuGet w Visual Studio wyświetlający bibliotekę IronXl.Excel, która umożliwia programistom odczytywanie, generowanie i edytowanie plików Excel w aplikacjach .NET. Pakiet ma 250 tys. pobrań, a wersja 2022.9.9454 jest gotowa do instalacji.
Wybierz pakiet IronXl.Excel i kliknij przycisk Instaluj, aby dodać go do projektu. Proces instalacji automatycznie zajmie się wszystkimi zależnościami i skonfiguruje projekt do obsługi plików Excel.
Kiedy należy korzystać z wiersza poleceń programu Visual Studio?
W menu Visual Studio przejdź do Narzędzia > Menedżer pakietów NuGet > kliknij Konsola menedżera pakietów. Metoda ta jest preferowana przez programistów, którzy czują się swobodnie w interfejsach wiersza poleceń lub muszą zautomatyzować proces instalacji w skryptach kompilacji.
Otwieranie konsoli menedżera pakietów NuGet w programie Visual Studio w celu zainstalowania bibliotek do analizowania plików CSV
Konsola menedżera pakietów pojawi się na dole ekranu. Wpisz następujące polecenie i naciśnij klawisz Enter. Zostanie zainstalowany IronXL. Ta metoda jest szczególnie przydatna, gdy trzeba zainstalować konkretne wersje lub podczas pracy ze skryptami wdrażania dla środowisk Azure lub AWS.
Install-Package IronXl.Excel
Konsola menedżera pakietów wyświetla pomyślną instalację IronXl.Excel w wersji 2022.11.10251, pokazując proces przywracania pakietu oraz potwierdzenia pobrania z repozytorium NuGet
Jak analizować pliki CSV za pomocą IronXL?
Ręczne parsowanie plików CSV wymaga napisania dużej ilości precyzyjnego kodu, aby wykonać zadanie, ale dzięki IronXL wystarczy zaledwie kilka linii kodu. Ta prostota jest szczególnie cenna, gdy trzeba szybko konwertować między różnymi formatami arkuszy kalkulacyjnych.
Używanie wyłącznie konwencjonalnego kodu C# do analizowania plików w formacie CSV wymaga dużej ilości kodu. Oto przykład kodu pozwalającego osiągnąć ten cel przy użyciu tradycyjnego podejścia:
using FileHelpers;
using System;
namespace parse_csv
{
[DelimitedRecord(",")]
public class Record
{
public string Name;
public string Age;
}
class Program
{
static void Main(string[] args)
{
// Create a FileHelperEngine for the Record class
var fileHelperEngine = new FileHelperEngine<Record>();
// Read records from the CSV file into an array
// Note: This requires proper error handling for production use
var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");
// Print each record's Name and Age
foreach (var record in records)
{
Console.WriteLine(record.Name);
Console.WriteLine(record.Age);
}
}
}
}
using FileHelpers;
using System;
namespace parse_csv
{
[DelimitedRecord(",")]
public class Record
{
public string Name;
public string Age;
}
class Program
{
static void Main(string[] args)
{
// Create a FileHelperEngine for the Record class
var fileHelperEngine = new FileHelperEngine<Record>();
// Read records from the CSV file into an array
// Note: This requires proper error handling for production use
var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");
// Print each record's Name and Age
foreach (var record in records)
{
Console.WriteLine(record.Name);
Console.WriteLine(record.Age);
}
}
}
}
Imports FileHelpers
Imports System
Namespace parse_csv
<DelimitedRecord(",")>
Public Class Record
Public Name As String
Public Age As String
End Class
Module Program
Sub Main(args As String())
' Create a FileHelperEngine for the Record class
Dim fileHelperEngine As New FileHelperEngine(Of Record)()
' Read records from the CSV file into an array
' Note: This requires proper error handling for production use
Dim records = fileHelperEngine.ReadFile("C:\File\records.csv")
' Print each record's Name and Age
For Each record In records
Console.WriteLine(record.Name)
Console.WriteLine(record.Age)
Next
End Sub
End Module
End Namespace
Jednak dzięki IronXL można to osiągnąć za pomocą zaledwie kilku linii kodu, korzystając z wbudowanej obsługi błędów i wsparcia dla różnych formatów plików.
Za pomocą IronXL można analizować pliki CSV z formatów XLSX, XLS, TSV i innych. Biblioteka obsługuje również odczyt plików Excel w aplikacjach ASP.NET i Blazor. W tym samouczku omówimy następujące konwersje:
- Przetwarzanie pliku CSV z pliku XLSX
- Przetwarzanie pliku CSV z pliku XLS
- Przetwarzanie pliku CSV z pliku TSV
Jak przekonwertować plik XLSX na CSV?
Otwórz program Microsoft Excel i utwórz nowy plik XLSX. Wypełnij jego wiersze i kolumny przykładowymi danymi. W scenariuszach produkcyjnych warto rozważyć programowe tworzenie plików Excel przy użyciu IronXL. Poniższy obrazek przedstawia plik używany do wszystkich konwersji w tym samouczku.
Rysunek 6: Przykładowe dane w Excelu przedstawiające podstawową strukturę zapasów, która zostanie wykorzystana do zademonstrowania parsowania plików CSV w języku C#
Gdy plik będzie gotowy, napisz poniższy przykładowy kod i uruchom program. IronXL wewnętrznie obsługuje wszystkie złożone operacje parsowania, w tym prawidłową obsługę znaków specjalnych i typów danych:
using IronXL;
class Program
{
static void Main()
{
// Load the XLSX file into a WorkBook object
// The Load method automatically detects the file format
WorkBook wb = WorkBook.Load("test.xlsx");
// Save the WorkBook as a CSV file
// This method handles all formatting and conversion automatically
wb.SaveAsCsv("Parsed CSV.csv");
// Optional: Save with custom delimiter
// wb.SaveAsCsv("Parsed CSV.csv", delimiter: ";");
}
}
using IronXL;
class Program
{
static void Main()
{
// Load the XLSX file into a WorkBook object
// The Load method automatically detects the file format
WorkBook wb = WorkBook.Load("test.xlsx");
// Save the WorkBook as a CSV file
// This method handles all formatting and conversion automatically
wb.SaveAsCsv("Parsed CSV.csv");
// Optional: Save with custom delimiter
// wb.SaveAsCsv("Parsed CSV.csv", delimiter: ";");
}
}
Imports IronXL
Class Program
Shared Sub Main()
' Load the XLSX file into a WorkBook object
' The Load method automatically detects the file format
Dim wb As WorkBook = WorkBook.Load("test.xlsx")
' Save the WorkBook as a CSV file
' This method handles all formatting and conversion automatically
wb.SaveAsCsv("Parsed CSV.csv")
' Optional: Save with custom delimiter
' wb.SaveAsCsv("Parsed CSV.csv", delimiter: ";")
End Sub
End Class
Po zakończeniu operacji zostanie utworzony nowy plik o nazwie Parsed CSV.csv. Pliki CSV można otwierać w dowolnym edytorze lub czytniku. Dane CSV można również zaimportować z powrotem do programu Excel w celu dalszej obróbki. Poniższy obrazek przedstawia wynik powyższego polecenia — wygenerowane przez nas dane w formacie CSV. W pliku wyjściowym podwójne cudzysłowy oznaczają wartości pogrubione.
Rysunek 7: Wynik w formacie CSV wygenerowany przez metodę SaveAsCsv, przedstawiający przekonwertowane dane z Excela w formacie rozdzielonym przecinkami
Jakie są kroki konwersji plików XLS do formatu CSV?
W tym przykładzie zobaczymy, jak przekonwertować pliki XLS do formatu CSV. Proces ten jest identyczny jak konwersja plików XLSX, co pokazuje wszechstronność IronXL w obsłudze różnych formatów plików Excel.
Najpierw utwórzmy przykładowy plik XLS, który możemy przekonwertować do formatu CSV. Należy pamiętać, że XLS jest starszym formatem programu Excel, ale IronXL obsługuje go płynnie obok nowoczesnych formatów:
Rysunek 8: Przykładowy plik Excel przedstawiający strukturę danych magazynowych z automatycznymi obliczeniami, który można przetworzyć przy użyciu bibliotek CSV języka C#
Następnie uruchomimy poniższy blok kodu, aby przekonwertować przykładowy plik XLS na plik CSV. IronXL zachowuje integralność danych podczas konwersji, w tym formuły i obliczenia:
using IronXL;
class Program
{
static void Main()
{
// Load the XLS file into a WorkBook object
// IronXL automatically handles the older XLS format
WorkBook wb = WorkBook.Load("XLS.xls");
// Save the WorkBook as a CSV file
// All formulas are evaluated and results are exported
wb.SaveAsCsv("Example2.csv");
// Optional: Export specific worksheet
// WorkSheet ws = wb.GetWorkSheet("Sheet1");
// ws.SaveAsCsv("Example2.csv");
}
}
using IronXL;
class Program
{
static void Main()
{
// Load the XLS file into a WorkBook object
// IronXL automatically handles the older XLS format
WorkBook wb = WorkBook.Load("XLS.xls");
// Save the WorkBook as a CSV file
// All formulas are evaluated and results are exported
wb.SaveAsCsv("Example2.csv");
// Optional: Export specific worksheet
// WorkSheet ws = wb.GetWorkSheet("Sheet1");
// ws.SaveAsCsv("Example2.csv");
}
}
Imports IronXL
Class Program
Shared Sub Main()
' Load the XLS file into a WorkBook object
' IronXL automatically handles the older XLS format
Dim wb As WorkBook = WorkBook.Load("XLS.xls")
' Save the WorkBook as a CSV file
' All formulas are evaluated and results are exported
wb.SaveAsCsv("Example2.csv")
' Optional: Export specific worksheet
' Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
' ws.SaveAsCsv("Example2.csv")
End Sub
End Class
Po zakończeniu wykonywania powyższego kodu otrzymasz nowo wygenerowany plik CSV. W bardziej złożonych scenariuszach możesz wybrać określone zakresy lub posortować dane przed eksportem.
Przykładowy plik CSV otwarty w WordPad, pokazujący poprawnie sformatowane dane rozdzielone przecinkami, z nagłówkami i wieloma wpisami dotyczącymi produktów
Jak mogę analizować pliki CSV z formatu TSV?
Aplikacje do obsługi arkuszy kalkulacyjnych często wykorzystują pliki TSV (Tab-Separated Values) do przesyłania danych między bazami danych. Zapisuje tabelę danych z tabulatorami oddzielającymi kolumny danych, a każdy rekord znajduje się w osobnym wierszu. Pliki TSV są szczególnie przydatne, gdy dane zawierają przecinki, które mogą zakłócać parsowanie plików CSV.
IronXL oferuje parser CSV do analizowania plików CSV z formatu TSV w celu lepszego zarządzania danymi. Proces konwersji jest prosty i zapewnia integralność danych na każdym etapie.
Zacznijmy od przykładu. Najpierw utworzymy plik TSV z danymi studentów:
Przykład danych dotyczących studentów rozdzielonych tabulatorami wyświetlanych w programie WORD, pokazujący strukturę pliku TSV z kolumnami NAME, EMAIL, R-NO i Grade
using IronXL;
class Program
{
static void Main()
{
// Load the TSV file into a WorkBook object
// IronXL automatically detects tab-separated format
WorkBook wb = WorkBook.Load("TSV.tsv");
// Save the WorkBook as a CSV file
// Tabs are converted to commas automatically
wb.SaveAsCsv("Example3.csv");
// Alternative: Load with explicit delimiter specification
// WorkBook wb = WorkBook.LoadCSV("TSV.tsv", delimiter: "\t");
}
}
using IronXL;
class Program
{
static void Main()
{
// Load the TSV file into a WorkBook object
// IronXL automatically detects tab-separated format
WorkBook wb = WorkBook.Load("TSV.tsv");
// Save the WorkBook as a CSV file
// Tabs are converted to commas automatically
wb.SaveAsCsv("Example3.csv");
// Alternative: Load with explicit delimiter specification
// WorkBook wb = WorkBook.LoadCSV("TSV.tsv", delimiter: "\t");
}
}
Imports IronXL
Class Program
Shared Sub Main()
' Load the TSV file into a WorkBook object
' IronXL automatically detects tab-separated format
Dim wb As WorkBook = WorkBook.Load("TSV.tsv")
' Save the WorkBook as a CSV file
' Tabs are converted to commas automatically
wb.SaveAsCsv("Example3.csv")
' Alternative: Load with explicit delimiter specification
' Dim wb As WorkBook = WorkBook.LoadCSV("TSV.tsv", delimiter:=vbTab)
End Sub
End Class
Poniżej znajduje się wynik w formacie CSV. Zwróć uwagę, jak IronXL poprawnie przekształcił wartości rozdzielone tabulatorami na wartości rozdzielone przecinkami, zachowując strukturę danych:
Przykładowy plik CSV otwarty w WordPad, wyświetlający dane uczniów z polami imienia, adresu e-mail, numeru z listy i oceny, oddzielonymi przecinkami
Jakie są główne zalety korzystania z IronXL do parsowania plików CSV?
Ten samouczek pokazuje, jak używać IronXL do analizowania różnych formatów plików do CSV w języku C#. Biblioteka zapewnia spójny interfejs API dla wszystkich formatów plików, co ułatwia pracę z różnymi wersjami i formatami programu Excel bez konieczności zmiany struktury kodu.
Ponadto biblioteka IronXL oferuje następujące funkcje, które sprawiają, że jest doskonałym wyborem do pracy z plikami Excel:
- Szeroki zestaw funkcji, w tym manipulowanie danymi i eksport danych do różnych formatów, w tym JSON, XML i HTML.
- Obsługa zarządzania wykresami w pełni kompatybilna z programem Excel, umożliwiająca programowe tworzenie i modyfikowanie wykresów.
- Obsługa formatowania komórek, takiego jak wyrównanie tekstu, rozmiar czcionki, kolor, obramowania i wzory tła.
- Możliwość dostosowywania metod programu Excel, w tym zamrażania paneli, dodawania formuł, formatowania warunkówego i scałania komórek.
- Kompatybilny z szyfrowaniem programu Excel za pomocą hasła zarówno dla skoroszytów, jak i poszczególnych arkuszy.
- Obsługa nazwanych zakresów i nazwanych tabel w celu lepszej organizacji danych.
- Zaawansowane funkcje, takie jak automatyczne dopasowywanie rozmiaru wierszy i kolumn, hiperłącza oraz komentarze.
IronXL wyróżnia się również pod względem optymalizacji wydajności. Dzięki ostatnim ulepszeniom wydajności biblioteka przetwarza teraz pliki 40 razy szybciej, zużywając jednocześnie znacznie mniej pamięci, co sprawia, że nadaje się do zadań przetwarzania danych na dużą skalę. Biblioteka działa płynnie w kontenerach Docker, na systemach Linux oraz w środowiskach macOS, zapewniając prawdziwą kompatybilność międzyplatformową.
W środowiskach Enterprise IronXL oferuje solidne funkcje bezpieczeństwa i jest zgodny ze standardami branżowymi. Biblioteka obsługuje zarówno VB.NET, jak i C#, dzięki czemu jest wszechstronna dla różnych zespołów programistycznych. Podczas pracy z dużymi plikami należy pamiętać o ograniczeniach dotyczących rozmiaru plików oraz dostępnych strategiach optymalizacji.
Zapoznaj się z funkcjami IronXL, przykładami kodu i dokumentacją, aby uzyskać więcej informacji na temat działania IronXL. Można omówić konkretne przypadki użycia, takie jak praca z .NET MAUI przy tworzeniu aplikacji mobilnych lub integracja z DataTables w celu obsługi operacji na bazach danych. Pobierz IronXL i wypróbuj go bezpłatnie przez 30 dni dzięki kluczu licencji Trial. Aby korzystać z produktu, należy zastosować klucz licencyjny, który można skonfigurować w pliku web.config dla aplikacji internetowych. Odwiedź stronę Licencjonowanie, aby uzyskać więcej informacji na temat warunków licencji, w tym opcji przedłużenia i aktualizacji licencji.
Kup kompletny pakiet Iron Suite, aby uzyskać licencje na wszystkie pięć bibliotek Iron Software w cenie dwóch licencji na bibliotekę IronXL!
Dziękujemy za przeczytanie!
Często Zadawane Pytania
Jak mogę analizować pliki CSV w języku C# bez użycia Interop?
IronXL pozwala analizować pliki CSV w języku C# bez użycia Interop. Można załadować plik CSV do obiektu WorkBook i manipulować nim bezpośrednio, konwertując go na inne formaty, takie jak XLSX lub XLS, za pomocą zaledwie kilku linii kodu.
Jakie kroki należy wykonać, aby zainstalować bibliotekę IronXL w Visual Studio?
Aby zainstalować bibliotekę IronXL w Visual Studio, otwórz interfejs użytkownika NuGet Package Manager, wyszukaj „IronXL” i zainstaluj ją. Alternatywnie możesz użyć wiersza poleceń Visual Studio i uruchomić polecenie Install-Package IronXl.Excel w konsoli Package Manager Console.
Jak mogę konwertować pliki CSV do formatu Excel w języku C#?
Za pomocą IronXL można konwertować pliki CSV do formatów Excel, takich jak XLSX lub XLS, ładując plik CSV do obiektu WorkBook i zapisując go w żądanym formacie za pomocą metod takich jak SaveAsXlsx.
Czy w języku C# można analizować pliki TSV i konwertować je do formatu CSV?
Tak, IronXL umożliwia parsowanie plików TSV. Należy załadować plik TSV do obiektu WorkBook i użyć metody SaveAsCsv, aby przekonwertować go na plik CSV.
Jakie funkcje oferuje biblioteka C# dla programu Excel w zakresie przetwarzania danych?
IronXL zapewnia takie funkcje, jak manipulowanie danymi, zarządzanie wykresami, formatowanie komórek oraz kompatybilność z szyfrowaniem programu Excel. Obsługuje operacje takie jak zamrażanie paneli, formuły i formatowanie warunkowe.
Jak mogę programowo zarządzać formatami arkuszy kalkulacyjnych Excel w języku C#?
IronXL umożliwia zarządzanie różnymi formatami arkuszy kalkulacyjnych, takimi jak XLSX, XLS i CSV. Zapewnia metody konwersji między tymi formatami oraz wydajną obsługę danych w aplikacjach .NET.
Czy mogę wypróbować bibliotekę Excel dla C# przed zakupem?
Tak, IronXL oferuje bezpłatny 30-dniowy okres probny, który można pobrać ze strony NuGet. Pozwala to przetestować jego funkcje i upewnić się, że spełnia on Twoje potrzeby przed dokonaniem zakupu.
Jakie korzyści oferuje IronXL w zakresie analizowania i konwertowania plików CSV?
IronXL upraszcza proces analizowania i konwertowania plików CSV przy minimalnym nakładzie kodu. Zapewnia wydajną obsługę danych i oferuje rozbudowane funkcje, które usprawniają manipulowanie plikami Excel w aplikacjach napisanych w języku C#.




