Czytaj plik CSV używając C# (Przykład kodu Samouczek)
W tym samouczku demonstrujemy, jak odczytać plik CSV za pomocą biblioteki IronXL C# bez instalowania dodatkowych interop, w bardzo wydajny i skuteczny sposób.
Jak czytać plik CSV linia po linii w C#
- Zainstaluj bibliotekę C# do odczytu pliku CSV linia po linii
- Wykorzystaj zaawansowaną metodę
LoadCSVdo odczytu pliku CSV - Złap ładowanie nieistniejącego pliku za pomocą metody
Existsw C# - Przekształć dane CSV w bazę danych za pomocą metody
ToDataTable - Użyj metody
SaveAs, aby wyeksportować plik Excel, podczas gdy dane CSV są automatycznie konwertowane na Excel
How to read CSV Files in C
Musisz najpierw zainstalować IronXL, zanim użyjesz go do odczytu plików CSV w MVC, ASP.NET lub .NET Core. Oto podstawowy przegląd procesu.
Wybierz menu Projekt w Visual Studio, Zarządzaj pakietami NuGet i Wyszukaj IronXL.Excel, a następnie Zainstaluj.
Zainstaluj pakiet IronXL w Menedżerze pakietów NuGet
IronXL to doskonałe narzędzie do użytku, gdy trzeba odczytać pliki CSV w C#. Poniższy przykład kodu pokazuje, że można odczytać plik CSV używając przecinków lub innego separatora.
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Save the workbook as an Excel file
workbook.SaveAs("Csv_To_Excel.xlsx");
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Save the workbook as an Excel file
workbook.SaveAs("Csv_To_Excel.xlsx");
' Load a CSV file into a WorkBook object specifying file format and delimiters
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
' Get the default worksheet from the workbook
Dim ws As WorkSheet = workbook.DefaultWorkSheet
' Save the workbook as an Excel file
workbook.SaveAs("Csv_To_Excel.xlsx")
Dane CSV dla tego poradnika
Obiekt WorkBook jest tworzony. Metoda LoadCSV obiektu WorkBook jest następnie używana do określenia nazwy pliku CSV, jego formatu i używanych w nim separatorów, które są przechowywane jako tablica ciągów. W tym scenariuszu jako separatery są wykorzystywane przecinki.
Następnie tworzony jest obiekt WorkSheet; to tam zostanie zapisane zawartość pliku CSV. Plik jest następnie przemapowany i zapisany w nowym formacie. Dane pliku CSV są następnie uporządkowane w arkuszu kalkulacyjnym w formie tabelarycznej. Wynik będzie wyglądać mniej więcej tak:
Dane przekonwertowane do pliku Excel
CSV parsing in C# .NET
CSV mają kilka problemów związanych z obsługą znaków końca wiersza w polach oraz sposobem zamykania pól w cudzysłowach, co uniemożliwia użycie prostej techniki dzielenia ciągów Split("'"). Zamiast tego, IronXL oferuje możliwość dostosowania separatora za pomocą opcjonalnego parametru z metody LoadCSV, sprawdź dokumentację API LoadCSV po więcej szczegółów.
C# Records — Reading CSV Data
W poniższym przykładzie pętla foreach jest używana do iteracji po wierszach w pliku CSV, a Konsola jest używana do zapisywania danych w rekordzie.
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Convert the worksheet data into a DataTable
DataTable dt = ws.ToDataTable(true); // The argument true indicates the first row is header
// Iterate through each row in the DataTable
foreach (DataRow row in dt.Rows)
{
// Iterate through each column in the current row
for (int i = 0; i < dt.Columns.Count; i++)
{
// Output each cell value to the console
Console.Write(row[i] + " ");
}
// New line after each row
Console.WriteLine();
}
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Convert the worksheet data into a DataTable
DataTable dt = ws.ToDataTable(true); // The argument true indicates the first row is header
// Iterate through each row in the DataTable
foreach (DataRow row in dt.Rows)
{
// Iterate through each column in the current row
for (int i = 0; i < dt.Columns.Count; i++)
{
// Output each cell value to the console
Console.Write(row[i] + " ");
}
// New line after each row
Console.WriteLine();
}
' Load a CSV file into a WorkBook object specifying file format and delimiters
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
' Get the default worksheet from the workbook
Dim ws As WorkSheet = workbook.DefaultWorkSheet
' Convert the worksheet data into a DataTable
Dim dt As DataTable = ws.ToDataTable(True) ' The argument true indicates the first row is header
' Iterate through each row in the DataTable
For Each row As DataRow In dt.Rows
' Iterate through each column in the current row
For i As Integer = 0 To dt.Columns.Count - 1
' Output each cell value to the console
Console.Write(row(i) & " ")
Next i
' New line after each row
Console.WriteLine()
Next row
Dostęp do danych z pliku CSV i wyświetlanie w Konsoli
Konwersja linii tekstu pliku CSV na format Excel
Procedura jest prosta: załaduj plik CSV i zapisz go jako plik Excel.
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Save the workbook as an Excel file
workbook.SaveAs("CsvToExcelConversion.xlsx");
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Save the workbook as an Excel file
workbook.SaveAs("CsvToExcelConversion.xlsx");
' Load a CSV file into a WorkBook object specifying file format and delimiters
Dim workbook As WorkBook = WorkBook.LoadCSV("test.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
' Get the default worksheet from the workbook
Dim ws As WorkSheet = workbook.DefaultWorkSheet
' Save the workbook as an Excel file
workbook.SaveAs("CsvToExcelConversion.xlsx")
Odczyt i manipulacja przekonwertowanymi plikami CSV za pomocą IronXL
Klasa IronXL WorkBook reprezentuje arkusz Excel i używa tej klasy do otwierania pliku Excel w C#. Przykłady kodu poniżej załadują pożądany plik Excel do obiektu WorkBook:
// Load WorkBook from a .xlsx file
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
// Load WorkBook from a .xlsx file
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");
' Load WorkBook from a .xlsx file
Dim workbook = WorkBook.Load("Spreadsheets\\sample.xlsx")
Obiekty WorkSheet można znaleźć w licznych WorkBooks. Oto arkusze dokumentu Excel. Jeśli książka robocza posiada arkusze kalkulacyjne, można je uzyskać po nazwie, wykonując następujące czynności:
// Open a specific worksheet for reading by its name
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
// Open a specific worksheet for reading by its name
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");
' Open a specific worksheet for reading by its name
Dim worksheet = workbook.GetWorkSheet("sheetnamegoeshere")
Kod do odczytu wartości komórek:
// Read and output values from a range of cells elegantly
foreach (var cell in worksheet["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read and output values from a range of cells elegantly
foreach (var cell in worksheet["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Read and output values from a range of cells elegantly
For Each cell In worksheet("A2:A10")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
Poniższy przykład kodu może aktualizować formuły lub zastosować je do określonych komórek po załadowaniu i odczytaniu książki roboczej oraz arkusza kalkulacyjnego. Oto kod:
// Set formulas for specific cells
worksheet["A1"].Formula = "Sum(B8:C12)";
worksheet["B8"].Formula = "=C9/C11";
worksheet["G30"].Formula = "Max(C3:C7)";
// Force recalculate all formula values in all sheets
workbook.EvaluateAll();
// Set formulas for specific cells
worksheet["A1"].Formula = "Sum(B8:C12)";
worksheet["B8"].Formula = "=C9/C11";
worksheet["G30"].Formula = "Max(C3:C7)";
// Force recalculate all formula values in all sheets
workbook.EvaluateAll();
' Set formulas for specific cells
worksheet("A1").Formula = "Sum(B8:C12)"
worksheet("B8").Formula = "=C9/C11"
worksheet("G30").Formula = "Max(C3:C7)"
' Force recalculate all formula values in all sheets
workbook.EvaluateAll()
Podsumowanie i specjalna oferta IronXL
IronXL przekształca CSV do Excela w zaledwie dwóch liniach kodu, oprócz przetwarzania CSV w C#.
Bez konieczności użycia Interopa, korzystanie z API Excela IronXL to bułka z masłem. Ponadto IronXL oferuje również szeroki zakres funkcji umożliwiających interakcję z poziomem skoroszytów, arkuszy i komórek programu Excel, takich jak konwersja między popularnymi formatami, formatowanie danych w komórkach, scałanie komórek, wstawianie funkcji matematycznych, a nawet zarządzanie wykresami i dodawanie obrazów.
Możesz uruchomić bez znaku wodnego, używając kluczy licencyjnych IronXL trial.
Licencje zaczynają się od $999 i obejmują rok bezpłatnego wsparcia i aktualizacji.
IronPDF, IronXL, IronOCR, IronBarcode i IronWebScraper są częścią Iron Suite od Iron Software. Iron Software pozwala na zakup całego pakietu po obniżonej cenie. Można korzystać ze wszystkich tych narzędzi w cenie dwóch.
To zdecydowanie opcja warta zbadania.
Często Zadawane Pytania
Jak odczytać plik CSV w języku C#?
Plik CSV można odczytać w języku C# przy użyciu biblioteki IronXL, korzystając z metody LoadCSV, która pozwala załadować dane CSV do obiektu WorkBook w celu dalszej obróbki.
Jaki jest najlepszy sposób na konwersję danych CSV do formatu Excel w języku C#?
Najlepszym sposobem na konwersję danych CSV do formatu Excel w języku C# jest użycie biblioteki IronXL. Wczytaj plik CSV do obiektu WorkBook i użyj metody SaveAs, aby zapisać go jako plik Excel.
Jak obsługiwać pliki CSV z niestandardowymi separatorami w języku C# przy użyciu biblioteki?
Dzięki IronXL można obsługiwać pliki CSV z niestandardowymi separatorami, określając separator jako opcjonalny parametr w metodzie LoadCSV.
Czy w języku C# mogę bezpośrednio przekonwertować dane CSV do formatu bazy danych?
Tak, w języku C# można przekonwertować dane CSV do formatu bazy danych za pomocą biblioteki IronXL, wykorzystując metodę ToDataTable, która przekształca dane w obiekt DataTable odpowiedni do operacji bazodanowych.
Jakie metody są dostępne do sprawdzania nieistniejących plików CSV przy użyciu języka C#?
W języku C# można użyć metody Exists biblioteki IronXL, aby sprawdzić, czy plik CSV istnieje, przed podjęciem próby jego załadowania, unikając w ten sposób błędów związanych z nieistniejącymi plikami.
Jak mogę przetwarzać dane z Excela po konwersji z formatu CSV w języku C#?
Po konwersji pliku CSV do formatu Excel w języku C# można manipulować danymi, korzystając z funkcji IronXL, takich jak formatowanie, scałanie komórek, wstawianie funkcji matematycznych oraz dodawanie wykresów lub obrazów.
Jakie zalety oferuje IronXL w zakresie odczytu i konwersji plików CSV w języku C#?
IronXL zapewnia takie korzyści, jak łatwa instalacja, brak konieczności stosowania dodatkowych rozwiązań interoperacyjnych, obsługa niestandardowych separatorów oraz zaawansowane metody konwersji i manipulacji danymi CSV w programie Excel.
Jak w języku C# można obsługiwać znaki specjalne w danych CSV?
IronXL obsługuje znaki specjalne w danych CSV, umożliwiając określenie kodowania pliku i separatorów podczas ładowania pliku CSV, co zapewnia integralność i dokładność danych.
Jakie wsparcie jest dostępne dla użytkowników IronXL?
Licencje IronXL obejmują rok bezpłatnego wsparcia i aktualizacji, zapewniając pomoc oraz dostęp do najnowszych funkcji i poprawek.




